Update 07082021
This commit is contained in:
12
BlazorApp/.config/dotnet-tools.json
Normal file
12
BlazorApp/.config/dotnet-tools.json
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"version": 1,
|
||||
"isRoot": true,
|
||||
"tools": {
|
||||
"dotnet-ef": {
|
||||
"version": "5.0.8",
|
||||
"commands": [
|
||||
"dotnet-ef"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
35
BlazorApp/.vscode/launch.json
vendored
Normal file
35
BlazorApp/.vscode/launch.json
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
// Use IntelliSense to find out which attributes exist for C# debugging
|
||||
// Use hover for the description of the existing attributes
|
||||
// For further information visit https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md
|
||||
"name": ".NET Core Launch (web)",
|
||||
"type": "coreclr",
|
||||
"request": "launch",
|
||||
"preLaunchTask": "build",
|
||||
// If you have changed target frameworks, make sure to update the program path.
|
||||
"program": "${workspaceFolder}/bin/Debug/netcoreapp3.1/BlazorApp.dll",
|
||||
"args": [],
|
||||
"cwd": "${workspaceFolder}",
|
||||
"stopAtEntry": false,
|
||||
// Enable launching a web browser when ASP.NET Core starts. For more information: https://aka.ms/VSCode-CS-LaunchJson-WebBrowser
|
||||
"serverReadyAction": {
|
||||
"action": "openExternally",
|
||||
"pattern": "\\bNow listening on:\\s+(https?://\\S+)"
|
||||
},
|
||||
"env": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
},
|
||||
"sourceFileMap": {
|
||||
"/Views": "${workspaceFolder}/Views"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": ".NET Core Attach",
|
||||
"type": "coreclr",
|
||||
"request": "attach"
|
||||
}
|
||||
]
|
||||
}
|
||||
42
BlazorApp/.vscode/tasks.json
vendored
Normal file
42
BlazorApp/.vscode/tasks.json
vendored
Normal file
@@ -0,0 +1,42 @@
|
||||
{
|
||||
"version": "2.0.0",
|
||||
"tasks": [
|
||||
{
|
||||
"label": "build",
|
||||
"command": "dotnet",
|
||||
"type": "process",
|
||||
"args": [
|
||||
"build",
|
||||
"${workspaceFolder}/BlazorApp.csproj",
|
||||
"/property:GenerateFullPaths=true",
|
||||
"/consoleloggerparameters:NoSummary"
|
||||
],
|
||||
"problemMatcher": "$msCompile"
|
||||
},
|
||||
{
|
||||
"label": "publish",
|
||||
"command": "dotnet",
|
||||
"type": "process",
|
||||
"args": [
|
||||
"publish",
|
||||
"${workspaceFolder}/BlazorApp.csproj",
|
||||
"/property:GenerateFullPaths=true",
|
||||
"/consoleloggerparameters:NoSummary"
|
||||
],
|
||||
"problemMatcher": "$msCompile"
|
||||
},
|
||||
{
|
||||
"label": "watch",
|
||||
"command": "dotnet",
|
||||
"type": "process",
|
||||
"args": [
|
||||
"watch",
|
||||
"run",
|
||||
"${workspaceFolder}/BlazorApp.csproj",
|
||||
"/property:GenerateFullPaths=true",
|
||||
"/consoleloggerparameters:NoSummary"
|
||||
],
|
||||
"problemMatcher": "$msCompile"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -16,22 +16,23 @@
|
||||
<div asp-validation-summary="All" class="text-danger"></div>
|
||||
<div class="form-group">
|
||||
<label asp-for="Input.Email"></label>
|
||||
<input asp-for="Input.Email" class="form-control" value="info@shub.ch" />
|
||||
<input asp-for="Input.Email" class="form-control" value="hutter@shub.ch" />
|
||||
<span asp-validation-for="Input.Email" class="text-danger"></span>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label asp-for="Input.Password"></label>
|
||||
<input asp-for="Input.Password" class="form-control" value="Admin*123" />
|
||||
@* <input asp-for="Input.Password" class="form-control" value="Admin*123" />
|
||||
*@ <input asp-for="Input.Password" class="form-control" value="b" />
|
||||
<span asp-validation-for="Input.Password" class="text-danger"></span>
|
||||
</div>
|
||||
@*<div class="form-group">
|
||||
<div class="form-group">
|
||||
<div class="checkbox">
|
||||
<label asp-for="Input.RememberMe">
|
||||
<input asp-for="Input.RememberMe" />
|
||||
@Html.DisplayNameFor(m => m.Input.RememberMe)
|
||||
</label>
|
||||
</div>
|
||||
</div>*@
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<button type="submit" class="btn btn-primary">Log in</button>
|
||||
</div>
|
||||
|
||||
@@ -60,6 +60,16 @@ namespace BlazorApp.Areas.Identity.Pages.Account
|
||||
|
||||
public async Task OnGetAsync(string returnUrl = null)
|
||||
{
|
||||
string autologin = "";
|
||||
Helper.ParameterHelper ph = new Helper.ParameterHelper();
|
||||
autologin = ph.GetParameter("autologin");
|
||||
if (autologin == "true")
|
||||
{
|
||||
await AutoLogin(returnUrl);
|
||||
returnUrl = returnUrl ?? Url.Content("~/");
|
||||
ReturnUrl = returnUrl;
|
||||
Response.Redirect(returnUrl);
|
||||
}
|
||||
if (!string.IsNullOrEmpty(ErrorMessage))
|
||||
{
|
||||
ModelState.AddModelError(string.Empty, ErrorMessage);
|
||||
@@ -109,5 +119,31 @@ namespace BlazorApp.Areas.Identity.Pages.Account
|
||||
// If we got this far, something failed, redisplay form
|
||||
return Page();
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[AllowAnonymous]
|
||||
public async Task<IActionResult> AutoLogin(string returnUrl)
|
||||
{
|
||||
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
string EMail = "info@shub.ch";
|
||||
string Password = "Admin*123";
|
||||
Helper.ParameterHelper ph = new Helper.ParameterHelper();
|
||||
EMail = ph.GetParameter("autologin_user");
|
||||
Password = ph.GetParameter("autologin_pw");
|
||||
var result = await _signInManager.PasswordSignInAsync(EMail, Password, false, lockoutOnFailure: false);
|
||||
if (result.Succeeded)
|
||||
{
|
||||
_logger.LogInformation("User logged in.");
|
||||
returnUrl = returnUrl ?? Url.Content("~/");
|
||||
return LocalRedirect(returnUrl);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
return BadRequest();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,71 @@
|
||||
@page
|
||||
@model RegisterComapnyModel
|
||||
@{
|
||||
ViewData["Title"] = "Registrierung als Lehrperson";
|
||||
}
|
||||
|
||||
<h1>@ViewData["Title"]</h1>
|
||||
<div class="card shadow-lg p-3 mb-5 bg-white rounded">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<form asp-route-returnUrl="@Model.ReturnUrl" method="post">
|
||||
<h4>Neues Konto erstellen</h4>
|
||||
<hr />
|
||||
<div asp-validation-summary="All" class="text-danger"></div>
|
||||
<div class="form-group">
|
||||
<label asp-for="Input.Email"></label>
|
||||
<input asp-for="Input.Email" class="form-control" />
|
||||
<span asp-validation-for="Input.Email" class="text-danger"></span>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label asp-for="Input.Password"></label>
|
||||
<input asp-for="Input.Password" class="form-control" />
|
||||
<span asp-validation-for="Input.Password" class="text-danger"></span>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label asp-for="Input.ConfirmPassword"></label>
|
||||
<input asp-for="Input.ConfirmPassword" class="form-control" />
|
||||
<span asp-validation-for="Input.ConfirmPassword" class="text-danger"></span>
|
||||
</div>
|
||||
<button type="submit" class="btn btn-primary">Register</button>
|
||||
</form>
|
||||
</div>
|
||||
<div class="col-md-6 col-md-offset-2">
|
||||
<section>
|
||||
<h4>Ablauf</h4>
|
||||
<hr />
|
||||
@{
|
||||
if ((Model.ExternalLogins?.Count ?? 0) == 0)
|
||||
{
|
||||
<div>
|
||||
<p>
|
||||
Nach der Registrierung erhalten Sie ein E-Mail um Ihr Konto zu bestätigen.
|
||||
</p>
|
||||
<p>
|
||||
Nach der Bestätigung können Sie Ihre Daten verwalten.
|
||||
</p>
|
||||
</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
<form id="external-account" asp-page="./ExternalLogin" asp-route-returnUrl="@Model.ReturnUrl" method="post" class="form-horizontal">
|
||||
<div>
|
||||
<p>
|
||||
@foreach (var provider in Model.ExternalLogins)
|
||||
{
|
||||
<button type="submit" class="btn btn-primary" name="provider" value="@provider.Name" title="Log in using your @provider.DisplayName account">@provider.DisplayName</button>
|
||||
}
|
||||
</p>
|
||||
</div>
|
||||
</form>
|
||||
}
|
||||
}
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@section Scripts {
|
||||
<partial name="_ValidationScriptsPartial" />
|
||||
}
|
||||
126
BlazorApp/Areas/Identity/Pages/Account/RegisterTeacher.cshtml.cs
Normal file
126
BlazorApp/Areas/Identity/Pages/Account/RegisterTeacher.cshtml.cs
Normal file
@@ -0,0 +1,126 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Text.Encodings.Web;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Authentication;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Identity;
|
||||
using Microsoft.AspNetCore.Identity.UI.Services;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.AspNetCore.Mvc.RazorPages;
|
||||
using Microsoft.AspNetCore.WebUtilities;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
namespace BlazorApp.Areas.Identity.Pages.Account
|
||||
{
|
||||
[AllowAnonymous]
|
||||
public class RegisterTeacherModel : PageModel
|
||||
{
|
||||
private readonly SignInManager<IdentityUser> _signInManager;
|
||||
private readonly UserManager<IdentityUser> _userManager;
|
||||
private readonly ILogger<RegisterModel> _logger;
|
||||
private readonly IEmailSender _emailSender;
|
||||
|
||||
public RegisterTeacherModel(
|
||||
UserManager<IdentityUser> userManager,
|
||||
SignInManager<IdentityUser> signInManager,
|
||||
ILogger<RegisterModel> logger,
|
||||
IEmailSender emailSender)
|
||||
{
|
||||
_userManager = userManager;
|
||||
_signInManager = signInManager;
|
||||
_logger = logger;
|
||||
_emailSender = emailSender;
|
||||
}
|
||||
|
||||
[BindProperty]
|
||||
public InputModel Input { get; set; }
|
||||
|
||||
public string ReturnUrl { get; set; }
|
||||
|
||||
public IList<AuthenticationScheme> ExternalLogins { get; set; }
|
||||
|
||||
public class InputModel
|
||||
{
|
||||
[Required]
|
||||
[EmailAddress]
|
||||
[Display(Name = "Email")]
|
||||
public string Email { get; set; }
|
||||
|
||||
[Required]
|
||||
[StringLength(100, ErrorMessage = "The {0} must be at least {2} and at max {1} characters long.", MinimumLength = 6)]
|
||||
[DataType(DataType.Password)]
|
||||
[Display(Name = "Password")]
|
||||
public string Password { get; set; }
|
||||
|
||||
[DataType(DataType.Password)]
|
||||
[Display(Name = "Confirm password")]
|
||||
[Compare("Password", ErrorMessage = "The password and confirmation password do not match.")]
|
||||
public string ConfirmPassword { get; set; }
|
||||
}
|
||||
|
||||
public async Task OnGetAsync(string returnUrl = null)
|
||||
{
|
||||
ReturnUrl = returnUrl;
|
||||
ExternalLogins = (await _signInManager.GetExternalAuthenticationSchemesAsync()).ToList();
|
||||
}
|
||||
|
||||
public async Task<IActionResult> OnPostAsync(string returnUrl = null)
|
||||
{
|
||||
returnUrl = returnUrl ?? Url.Content("~/");
|
||||
ExternalLogins = (await _signInManager.GetExternalAuthenticationSchemesAsync()).ToList();
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
var user = new IdentityUser { UserName = Input.Email, Email = Input.Email };
|
||||
var result = await _userManager.CreateAsync(user, Input.Password);
|
||||
if (result.Succeeded)
|
||||
{
|
||||
_logger.LogInformation("User created a new account with password.");
|
||||
await _userManager.AddToRoleAsync(user, "Lehrer");
|
||||
|
||||
var code = await _userManager.GenerateEmailConfirmationTokenAsync(user);
|
||||
code = WebEncoders.Base64UrlEncode(Encoding.UTF8.GetBytes(code));
|
||||
var callbackUrl = Url.Page(
|
||||
"/Account/ConfirmEmail",
|
||||
pageHandler: null,
|
||||
values: new { area = "Identity", userId = user.Id, code = code, returnUrl = returnUrl },
|
||||
protocol: Request.Scheme);
|
||||
|
||||
BlazorApp.Helper.ParameterHelper ph = new BlazorApp.Helper.ParameterHelper();
|
||||
|
||||
string smtpserver = ph.GetParameter("smtpserver");
|
||||
string smtpuser = ph.GetParameter("smtpuser");
|
||||
string smtppw = ph.GetParameter("smtppw");
|
||||
string smtpport = ph.GetParameter("smtpport");
|
||||
BlazorApp.Helper.EmailSender esend = new BlazorApp.Helper.EmailSender(smtpserver, Convert.ToInt32(smtpport), true, smtpuser, smtppw);
|
||||
await esend.SendEmailAsync(Input.Email,"BWPM: Registrierungsbestätigung",
|
||||
$"Sie haben sich beim Berufswahlparcours registriert. Bitte bestätigen Sie Ihre Registrierung über den folgenden Link_ <a href='{HtmlEncoder.Default.Encode(callbackUrl)}'>Registrierung Bestägigen</a>.");
|
||||
|
||||
|
||||
//await _emailSender.SendEmailAsync(Input.Email, "Confirm your email",
|
||||
// $"Please confirm your account by <a href='{HtmlEncoder.Default.Encode(callbackUrl)}'>clicking here</a>.");
|
||||
|
||||
if (_userManager.Options.SignIn.RequireConfirmedAccount)
|
||||
{
|
||||
return RedirectToPage("RegisterConfirmation", new { email = Input.Email, returnUrl = returnUrl });
|
||||
}
|
||||
else
|
||||
{
|
||||
await _signInManager.SignInAsync(user, isPersistent: false);
|
||||
return LocalRedirect(returnUrl);
|
||||
}
|
||||
}
|
||||
foreach (var error in result.Errors)
|
||||
{
|
||||
ModelState.AddModelError(string.Empty, error.Description);
|
||||
}
|
||||
}
|
||||
|
||||
// If we got this far, something failed, redisplay form
|
||||
return Page();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3,18 +3,23 @@
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp3.1</TargetFramework>
|
||||
<UserSecretsId>b42c85b7-be12-4985-a19a-d4d5d80d37fb</UserSecretsId>
|
||||
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Blazored.SessionStorage" Version="1.0.13" />
|
||||
<PackageReference Include="FastReport.Core" Version="2021.3.17" />
|
||||
<PackageReference Include="FastReport.Web" Version="2021.3.17" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="3.1.15" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Identity.UI" Version="3.1.15" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="3.1.15" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.ProtectedBrowserStorage" Version="0.1.0-alpha.19521.1" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="3.1.15" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="3.1.15">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.10.14" />
|
||||
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="3.1.5" />
|
||||
<PackageReference Include="Radzen.Blazor" Version="3.6.7" />
|
||||
<PackageReference Include="Syncfusion.Blazor" Version="19.1.0.54" />
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
<RazorPage_SelectedScaffolderCategoryPath>root/Common/RazorPage</RazorPage_SelectedScaffolderCategoryPath>
|
||||
<Controller_SelectedScaffolderID>MvcControllerEmptyScaffolder</Controller_SelectedScaffolderID>
|
||||
<Controller_SelectedScaffolderCategoryPath>root/Common/MVC/Controller</Controller_SelectedScaffolderCategoryPath>
|
||||
<NameOfLastUsedPublishProfile>E:\Software-Projekte\Lehrlingsparcours\Core\BWPM\BlazorApp\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||
<DebuggerFlavor>ProjectDebugger</DebuggerFlavor>
|
||||
|
||||
110
BlazorApp/Controller/Anrede/AnredeController.cs
Normal file
110
BlazorApp/Controller/Anrede/AnredeController.cs
Normal file
@@ -0,0 +1,110 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using BWPMModels;
|
||||
using BlazorApp.Helper;
|
||||
using Newtonsoft.Json;
|
||||
using System.Data;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace BlazorApp.Controller
|
||||
|
||||
{
|
||||
|
||||
public class AnredeController : ControllerBase
|
||||
{
|
||||
public static List<Anrede> GetAllData()
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select * from Anrede", false, true);
|
||||
return dbh.ConvertDataTable<Anrede>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static List<Anrede> GetByID(int ID)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select * from Anrede where id=" + ID.ToString(), false, true);
|
||||
return dbh.ConvertDataTable<Anrede>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static List<Anrede> GetLast()
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select top 1 * from Anrede order by mutiert_am desc", false, true);
|
||||
return dbh.ConvertDataTable<Anrede>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
public static List<Anrede> GetLastByMutierer(string Mutierer)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select top 1 * from Anrede where mutierer='" + Mutierer + "' order by mutiert_am desc", false, true);
|
||||
return dbh.ConvertDataTable<Anrede>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static List<Anrede> GetbyUserSQL(string SQL)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata(SQL, false, true);
|
||||
return dbh.ConvertDataTable<Anrede>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static int POST(Anrede Anrededata)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabeldata_for_Update("Select top 1 * from [Anrede] where id=-1", false, true);
|
||||
DataRow dr = dbh.dsdaten.Tables[0].NewRow();
|
||||
Anrededata.GetType().GetProperties().ToList().ForEach(f =>
|
||||
{
|
||||
try
|
||||
{
|
||||
if (f.PropertyType == typeof(DateTime))
|
||||
{
|
||||
dr[f.Name] = (DateTime)f.GetValue(Anrededata, null);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
dr[f.Name] = f.GetValue(Anrededata, null);
|
||||
}
|
||||
}
|
||||
catch (Exception ex) { string s = ex.Message; }
|
||||
});
|
||||
dbh.dsdaten.Tables[0].Rows.Add(dr);
|
||||
dbh.Update_Tabeldata();
|
||||
List<Anrede> tmplst = GetLastByMutierer(Anrededata.mutierer);
|
||||
return tmplst.First<Anrede>().ID;
|
||||
}
|
||||
|
||||
public static void PUT(Anrede Anrededata)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabeldata_for_Update("Select top 1 * from [Anrede] where id=" + Anrededata.ID.ToString(), false, true);
|
||||
DataRow dr = dbh.dsdaten.Tables[0].Rows[0];
|
||||
Anrededata.GetType().GetProperties().ToList().ForEach(f =>
|
||||
{
|
||||
try
|
||||
{
|
||||
if (f.PropertyType == typeof(DateTime))
|
||||
{
|
||||
dr[f.Name] = (DateTime)f.GetValue(Anrededata, null);
|
||||
}
|
||||
else
|
||||
{
|
||||
dr[f.Name] = f.GetValue(Anrededata, null);
|
||||
}
|
||||
}
|
||||
catch (Exception ex) { string s = ex.Message; }
|
||||
});
|
||||
dbh.Update_Tabeldata();
|
||||
|
||||
}
|
||||
|
||||
public static void DELETE(Anrede Anrededata)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabeldata_for_Update("delete from [Anrede] where id=" + Anrededata.ID.ToString(), false, true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -1,39 +1,108 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using BWPMModels;
|
||||
using BlazorApp.Helper;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
using System.Data;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace BlazorApp.Controller
|
||||
|
||||
{
|
||||
public class AspNetRolesController
|
||||
|
||||
public class AspNetRolesController : ControllerBase
|
||||
{
|
||||
public static List<AspNetRoles> GetAllData()
|
||||
{
|
||||
Helper.HttpClientHelper httpcli = new Helper.HttpClientHelper();
|
||||
httpcli.CallService("AspNetRoles", "", "GET", null);
|
||||
return JsonConvert.DeserializeObject<List<AspNetRoles>>(httpcli.Results.daten);
|
||||
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select * from AspNetRoles", false, true);
|
||||
return dbh.ConvertDataTable<AspNetRoles>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static void savedata(BWPMModels.AspNetRoles AspNetRolesdata)
|
||||
public static List<AspNetRoles> GetByID(int ID)
|
||||
{
|
||||
Helper.HttpClientHelper httpcli = new Helper.HttpClientHelper();
|
||||
httpcli.CallService("AspNetRoles", AspNetRolesdata.Id.ToString(), "PUT", AspNetRolesdata);
|
||||
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select * from AspNetRoles where id=" + ID.ToString(), false, true);
|
||||
return dbh.ConvertDataTable<AspNetRoles>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
public static int InsertData(BWPMModels.AspNetRoles AspNetRolesdata)
|
||||
|
||||
public static List<AspNetRoles> GetLast()
|
||||
{
|
||||
Helper.HttpClientHelper httpcli = new Helper.HttpClientHelper();
|
||||
httpcli.CallService("AspNetRoles", "", "POST", AspNetRolesdata);
|
||||
List<BWPMModels.AspNetRoles> LastAspNetRoles = new List<BWPMModels.AspNetRoles>();
|
||||
return 0;
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select top 1 * from AspNetRoles order by mutiert_am desc", false, true);
|
||||
return dbh.ConvertDataTable<AspNetRoles>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
public static List<AspNetRoles> GetLastByMutierer(string Mutierer)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select top 1 * from AspNetRoles where mutierer='" + Mutierer + "' order by mutiert_am desc", false, true);
|
||||
return dbh.ConvertDataTable<AspNetRoles>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
|
||||
public static List<AspNetRoles> GetbyUserSQL(string SQL)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata(SQL, false, true);
|
||||
return dbh.ConvertDataTable<AspNetRoles>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static void POST(AspNetRoles AspNetRolesdata)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabeldata_for_Update("Select top 1 * from [AspNetRoles] where id=-1", false, true);
|
||||
DataRow dr = dbh.dsdaten.Tables[0].NewRow();
|
||||
AspNetRolesdata.GetType().GetProperties().ToList().ForEach(f =>
|
||||
{
|
||||
try
|
||||
{
|
||||
if (f.PropertyType == typeof(DateTime))
|
||||
{
|
||||
dr[f.Name] = (DateTime)f.GetValue(AspNetRolesdata, null);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
dr[f.Name] = f.GetValue(AspNetRolesdata, null);
|
||||
}
|
||||
}
|
||||
catch (Exception ex) { string s = ex.Message; }
|
||||
});
|
||||
dbh.dsdaten.Tables[0].Rows.Add(dr);
|
||||
dbh.Update_Tabeldata();
|
||||
}
|
||||
|
||||
public static void PUT(AspNetRoles AspNetRolesdata)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabeldata_for_Update("Select top 1 * from [AspNetRoles] where id=" + AspNetRolesdata.Id.ToString(), false, true);
|
||||
DataRow dr = dbh.dsdaten.Tables[0].Rows[0];
|
||||
AspNetRolesdata.GetType().GetProperties().ToList().ForEach(f =>
|
||||
{
|
||||
try
|
||||
{
|
||||
if (f.PropertyType == typeof(DateTime))
|
||||
{
|
||||
dr[f.Name] = (DateTime)f.GetValue(AspNetRolesdata, null);
|
||||
}
|
||||
else
|
||||
{
|
||||
dr[f.Name] = f.GetValue(AspNetRolesdata, null);
|
||||
}
|
||||
}
|
||||
catch (Exception ex) { string s = ex.Message; }
|
||||
});
|
||||
dbh.Update_Tabeldata();
|
||||
|
||||
}
|
||||
|
||||
public static void DELETE(AspNetRoles AspNetRolesdata)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabeldata_for_Update("delete from [AspNetRoles] where id=" + AspNetRolesdata.Id.ToString(), false, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -1,49 +1,108 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using BWPMModels;
|
||||
using BlazorApp.Helper;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
using System.Data;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace BlazorApp.Controller
|
||||
|
||||
{
|
||||
public class AspNetUserRolesController
|
||||
|
||||
public class AspNetUserRolesController : ControllerBase
|
||||
{
|
||||
public static List<AspNetUserRoles> GetAllData()
|
||||
{
|
||||
Helper.HttpClientHelper httpcli = new Helper.HttpClientHelper();
|
||||
httpcli.CallService("AspNetUserRoles", "", "GET", null);
|
||||
return JsonConvert.DeserializeObject<List<BWPMModels.AspNetUserRoles>>(httpcli.Results.daten);
|
||||
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select * from AspNetUserRoles", false, true);
|
||||
return dbh.ConvertDataTable<AspNetUserRoles>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static void savedata(BWPMModels.AspNetUserRoles AspNetUserRolesdata)
|
||||
public static List<AspNetUserRoles> GetByID(int ID)
|
||||
{
|
||||
Helper.HttpClientHelper httpcli = new Helper.HttpClientHelper();
|
||||
httpcli.CallService("AspNetUserRoles", AspNetUserRolesdata.UserId.ToString(), "PUT", AspNetUserRolesdata);
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select * from AspNetUserRoles where id=" + ID.ToString(), false, true);
|
||||
return dbh.ConvertDataTable<AspNetUserRoles>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
|
||||
public static int InsertData(BWPMModels.AspNetUserRoles AspNetUserRolesdata)
|
||||
public static List<AspNetUserRoles> GetLast()
|
||||
{
|
||||
Helper.HttpClientHelper httpcli = new Helper.HttpClientHelper();
|
||||
httpcli.CallService("AspNetUserRoles", "", "POST", AspNetUserRolesdata);
|
||||
List<BWPMModels.AspNetUserRoles> LastAspNetUserRoles = new List<AspNetUserRoles>();
|
||||
return 0;
|
||||
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select top 1 * from AspNetUserRoles order by mutiert_am desc", false, true);
|
||||
return dbh.ConvertDataTable<AspNetUserRoles>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static void deletdata(BWPMModels.AspNetUserRoles aspNetUserRolesData)
|
||||
public static List<AspNetUserRoles> GetLastByMutierer(string Mutierer)
|
||||
{
|
||||
Helper.HttpClientHelper httpcli = new Helper.HttpClientHelper();
|
||||
httpcli.CallService("AspNetUserRoles", "", "DELETE", aspNetUserRolesData);
|
||||
List<BWPMModels.AspNetUserRoles> LastAspNetUserRoles = new List<AspNetUserRoles>();
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select top 1 * from AspNetUserRoles where mutierer='" + Mutierer + "' order by mutiert_am desc", false, true);
|
||||
return dbh.ConvertDataTable<AspNetUserRoles>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static List<AspNetUserRoles> GetbyUserSQL(string SQL)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata(SQL, false, true);
|
||||
return dbh.ConvertDataTable<AspNetUserRoles>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static void POST(AspNetUserRoles AspNetUserRolesdata)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabeldata_for_Update("Select top 1 * from [AspNetUserRoles] where id=-1", false, true);
|
||||
DataRow dr = dbh.dsdaten.Tables[0].NewRow();
|
||||
AspNetUserRolesdata.GetType().GetProperties().ToList().ForEach(f =>
|
||||
{
|
||||
try
|
||||
{
|
||||
if (f.PropertyType == typeof(DateTime))
|
||||
{
|
||||
dr[f.Name] = (DateTime)f.GetValue(AspNetUserRolesdata, null);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
dr[f.Name] = f.GetValue(AspNetUserRolesdata, null);
|
||||
}
|
||||
}
|
||||
catch (Exception ex) { string s = ex.Message; }
|
||||
});
|
||||
dbh.dsdaten.Tables[0].Rows.Add(dr);
|
||||
dbh.Update_Tabeldata();
|
||||
}
|
||||
|
||||
public static void PUT(AspNetUserRoles AspNetUserRolesdata)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabeldata_for_Update("Select top 1 * from [AspNetUserRoles] where userid='" + AspNetUserRolesdata.UserId.ToString()+"'", false, true);
|
||||
DataRow dr = dbh.dsdaten.Tables[0].Rows[0];
|
||||
AspNetUserRolesdata.GetType().GetProperties().ToList().ForEach(f =>
|
||||
{
|
||||
try
|
||||
{
|
||||
if (f.PropertyType == typeof(DateTime))
|
||||
{
|
||||
dr[f.Name] = (DateTime)f.GetValue(AspNetUserRolesdata, null);
|
||||
}
|
||||
else
|
||||
{
|
||||
dr[f.Name] = f.GetValue(AspNetUserRolesdata, null);
|
||||
}
|
||||
}
|
||||
catch (Exception ex) { string s = ex.Message; }
|
||||
});
|
||||
dbh.Update_Tabeldata();
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
public static void DELETE(AspNetUserRoles AspNetUserRolesdata)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabeldata_for_Update("delete from [AspNetUserRoles] where id=" + AspNetUserRolesdata.UserId.ToString(), false, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -1,37 +1,121 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using BWPMModels;
|
||||
using BlazorApp.Helper;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
using System.Data;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace BlazorApp.Controller
|
||||
|
||||
{
|
||||
public class AspNetUserRolleController
|
||||
|
||||
public class AspNetUserRolleController : ControllerBase
|
||||
{
|
||||
public static List<AspNetUserRolle> GetAllData()
|
||||
{
|
||||
Helper.HttpClientHelper httpcli = new Helper.HttpClientHelper();
|
||||
httpcli.CallService("AspNetUserRolle", "", "GET", null);
|
||||
return JsonConvert.DeserializeObject<List<AspNetUserRolle>>(httpcli.Results.daten);
|
||||
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select * from AspNetUserRolle", false, true);
|
||||
return dbh.ConvertDataTable<AspNetUserRolle>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static void savedata(AspNetUserRolle AspNetUserRolledata)
|
||||
public static List<AspNetUserRolle> GetByID(int ID)
|
||||
{
|
||||
Helper.HttpClientHelper httpcli = new Helper.HttpClientHelper();
|
||||
httpcli.CallService("AspNetUserRolle", AspNetUserRolledata.Id.ToString(), "PUT", AspNetUserRolledata);
|
||||
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select * from AspNetUserRolle where id=" + ID.ToString(), false, true);
|
||||
return dbh.ConvertDataTable<AspNetUserRolle>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static void savepassword(BWPMModels.AspNetUsers userdata)
|
||||
public static List<AspNetUserRolle> GetLast()
|
||||
{
|
||||
Helper.HttpClientHelper httpcli = new Helper.HttpClientHelper();
|
||||
httpcli.CallService("AspNetUserRolle", "changepassword/" + userdata.Id, "PUT", userdata);
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select top 1 * from AspNetUserRolle order by mutiert_am desc", false, true);
|
||||
return dbh.ConvertDataTable<AspNetUserRolle>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
public static List<AspNetUserRolle> GetLastByMutierer(string Mutierer)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select top 1 * from AspNetUserRolle where mutierer='" + Mutierer + "' order by mutiert_am desc", false, true);
|
||||
return dbh.ConvertDataTable<AspNetUserRolle>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static List<AspNetUserRolle> GetbyUserSQL(string SQL)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata(SQL, false, true);
|
||||
return dbh.ConvertDataTable<AspNetUserRolle>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static void POST(AspNetUserRolle AspNetUserRolledata)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabeldata_for_Update("Select top 1 * from [AspNetUserRolle] where id=-1", false, true);
|
||||
DataRow dr = dbh.dsdaten.Tables[0].NewRow();
|
||||
AspNetUserRolledata.GetType().GetProperties().ToList().ForEach(f =>
|
||||
{
|
||||
try
|
||||
{
|
||||
if (f.PropertyType == typeof(DateTime))
|
||||
{
|
||||
dr[f.Name] = (DateTime)f.GetValue(AspNetUserRolledata, null);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
dr[f.Name] = f.GetValue(AspNetUserRolledata, null);
|
||||
}
|
||||
}
|
||||
catch (Exception ex) { string s = ex.Message; }
|
||||
});
|
||||
dbh.dsdaten.Tables[0].Rows.Add(dr);
|
||||
dbh.Update_Tabeldata();
|
||||
|
||||
}
|
||||
|
||||
public static void PUT(AspNetUserRolle AspNetUserRolledata)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabeldata_for_Update("Select top 1 * from [AspNetUserRolle] where id=" + AspNetUserRolledata.Id.ToString(), false, true);
|
||||
DataRow dr = dbh.dsdaten.Tables[0].Rows[0];
|
||||
AspNetUserRolledata.GetType().GetProperties().ToList().ForEach(f =>
|
||||
{
|
||||
try
|
||||
{
|
||||
if (f.PropertyType == typeof(DateTime))
|
||||
{
|
||||
dr[f.Name] = (DateTime)f.GetValue(AspNetUserRolledata, null);
|
||||
}
|
||||
else
|
||||
{
|
||||
dr[f.Name] = f.GetValue(AspNetUserRolledata, null);
|
||||
}
|
||||
}
|
||||
catch (Exception ex) { string s = ex.Message; }
|
||||
});
|
||||
dbh.Update_Tabeldata();
|
||||
|
||||
}
|
||||
|
||||
public static void PUTPassword(AspNetUsers aspNetUser)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabeldata_for_Update("Select top 1 * from [AspNetUsers] where id='" +aspNetUser.Id + "'", false, true);
|
||||
DataRow dr = dbh.dsdaten.Tables[0].Rows[0];
|
||||
dr["PasswordHash"] = aspNetUser.PasswordHash;
|
||||
dbh.Update_Tabeldata();
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
public static void DELETE(AspNetUserRolle AspNetUserRolledata)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabeldata_for_Update("delete from [AspNetUserRolle] where id=" + AspNetUserRolledata.Id.ToString(), false, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -1,32 +1,109 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using BWPMModels;
|
||||
using BlazorApp.Helper;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
using System.Data;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace BlazorApp.Controller
|
||||
|
||||
{
|
||||
public class AspNetUsersController
|
||||
|
||||
public class AspNetUsersController : ControllerBase
|
||||
{
|
||||
public static List<AspNetUsers> GetAllData()
|
||||
{
|
||||
Helper.HttpClientHelper httpcli = new Helper.HttpClientHelper();
|
||||
httpcli.CallService("AspNetUsers", "", "GET", null);
|
||||
return JsonConvert.DeserializeObject<List<AspNetUsers>>(httpcli.Results.daten);
|
||||
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select * from AspNetUsers", false, true);
|
||||
return dbh.ConvertDataTable<AspNetUsers>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static void savedata(AspNetUsers AspNetUsersdata)
|
||||
public static List<AspNetUsers> GetByID(int ID)
|
||||
{
|
||||
Helper.HttpClientHelper httpcli = new Helper.HttpClientHelper();
|
||||
httpcli.CallService("AspNetUsers", AspNetUsersdata.Id.ToString(), "PUT", AspNetUsersdata);
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select * from AspNetUsers where id=" + ID.ToString(), false, true);
|
||||
return dbh.ConvertDataTable<AspNetUsers>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static List<AspNetUsers> GetLast()
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select top 1 * from AspNetUsers order by mutiert_am desc", false, true);
|
||||
return dbh.ConvertDataTable<AspNetUsers>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
public static List<AspNetUsers> GetLastByMutierer(string Mutierer)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select top 1 * from AspNetUsers where mutierer='" + Mutierer + "' order by mutiert_am desc", false, true);
|
||||
return dbh.ConvertDataTable<AspNetUsers>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static List<AspNetUsers> GetbyUserSQL(string SQL)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata(SQL, false, true);
|
||||
return dbh.ConvertDataTable<AspNetUsers>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static void POST(AspNetUsers AspNetUsersdata)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabeldata_for_Update("Select top 1 * from [AspNetUsers] where id=-1", false, true);
|
||||
DataRow dr = dbh.dsdaten.Tables[0].NewRow();
|
||||
AspNetUsersdata.GetType().GetProperties().ToList().ForEach(f =>
|
||||
{
|
||||
try
|
||||
{
|
||||
if (f.PropertyType == typeof(DateTime))
|
||||
{
|
||||
dr[f.Name] = (DateTime)f.GetValue(AspNetUsersdata, null);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
dr[f.Name] = f.GetValue(AspNetUsersdata, null);
|
||||
}
|
||||
}
|
||||
catch (Exception ex) { string s = ex.Message; }
|
||||
});
|
||||
dbh.dsdaten.Tables[0].Rows.Add(dr);
|
||||
dbh.Update_Tabeldata();
|
||||
|
||||
}
|
||||
|
||||
public static void PUT(AspNetUsers AspNetUsersdata)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabeldata_for_Update("Select top 1 * from [AspNetUsers] where id=" + AspNetUsersdata.Id.ToString(), false, true);
|
||||
DataRow dr = dbh.dsdaten.Tables[0].Rows[0];
|
||||
AspNetUsersdata.GetType().GetProperties().ToList().ForEach(f =>
|
||||
{
|
||||
try
|
||||
{
|
||||
if (f.PropertyType == typeof(DateTime))
|
||||
{
|
||||
dr[f.Name] = (DateTime)f.GetValue(AspNetUsersdata, null);
|
||||
}
|
||||
else
|
||||
{
|
||||
dr[f.Name] = f.GetValue(AspNetUsersdata, null);
|
||||
}
|
||||
}
|
||||
catch (Exception ex) { string s = ex.Message; }
|
||||
});
|
||||
dbh.Update_Tabeldata();
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
public static void DELETE(AspNetUsers AspNetUsersdata)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabeldata_for_Update("delete from [AspNetUsers] where id=" + AspNetUsersdata.Id.ToString(), false, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -1,47 +1,117 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using BWPMModels;
|
||||
using BlazorApp.Helper;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
using System.Data;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace BlazorApp.Controller
|
||||
|
||||
{
|
||||
public class BerufController
|
||||
|
||||
public class BerufController : ControllerBase
|
||||
{
|
||||
public static List<Beruf> GetAllData()
|
||||
{
|
||||
Helper.HttpClientHelper httpcli = new Helper.HttpClientHelper();
|
||||
httpcli.CallService("Beruf", "", "GET", null);
|
||||
return JsonConvert.DeserializeObject<List<Beruf>>(httpcli.Results.daten);
|
||||
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select * from Beruf", false, true);
|
||||
return dbh.ConvertDataTable<Beruf>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static void savedata(Beruf Berufdata)
|
||||
public static List<Beruf> GetAllAktiveData()
|
||||
{
|
||||
Helper.HttpClientHelper httpcli = new Helper.HttpClientHelper();
|
||||
httpcli.CallService("Beruf", Berufdata.ID.ToString(), "PUT", Berufdata);
|
||||
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select * from Beruf where aktiv=1 order by bezeichnung", false, true);
|
||||
return dbh.ConvertDataTable<Beruf>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
public static int InsertData(Beruf Berufdata)
|
||||
|
||||
public static List<Beruf> GetByID(int ID)
|
||||
{
|
||||
Helper.HttpClientHelper httpcli = new Helper.HttpClientHelper();
|
||||
httpcli.CallService("Beruf", "", "POST", Berufdata);
|
||||
List<BWPMModels.Beruf> LastBeruf = new List<Beruf>();
|
||||
LastBeruf = GetLast(Berufdata);
|
||||
return LastBeruf.First<Beruf>().ID;
|
||||
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select * from Beruf where id=" + ID.ToString(), false, true);
|
||||
return dbh.ConvertDataTable<Beruf>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static List<Beruf> GetLast(Beruf Berufdata)
|
||||
public static List<Beruf> GetLast()
|
||||
{
|
||||
Helper.HttpClientHelper httpcli = new Helper.HttpClientHelper();
|
||||
string sql = "Select top 1 * from Beruf where mutierer='" + Berufdata.mutierer + "' order by erstellt_am desc";
|
||||
httpcli.CallService("Beruf", "usersql/" + sql, "GET", Berufdata);
|
||||
return JsonConvert.DeserializeObject<List<Beruf>>(httpcli.Results.daten);
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select top 1 * from Beruf order by mutiert_am desc", false, true);
|
||||
return dbh.ConvertDataTable<Beruf>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
public static List<Beruf> GetLastByMutierer(string Mutierer)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select top 1 * from Beruf where mutierer='" + Mutierer + "' order by mutiert_am desc", false, true);
|
||||
return dbh.ConvertDataTable<Beruf>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static List<Beruf> GetbyUserSQL(string SQL)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata(SQL, false, true);
|
||||
return dbh.ConvertDataTable<Beruf>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static int POST(Beruf Berufdata)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabeldata_for_Update("Select top 1 * from [Beruf] where id=-1", false, true);
|
||||
DataRow dr = dbh.dsdaten.Tables[0].NewRow();
|
||||
Berufdata.GetType().GetProperties().ToList().ForEach(f =>
|
||||
{
|
||||
try
|
||||
{
|
||||
if (f.PropertyType == typeof(DateTime))
|
||||
{
|
||||
dr[f.Name] = (DateTime)f.GetValue(Berufdata, null);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
dr[f.Name] = f.GetValue(Berufdata, null);
|
||||
}
|
||||
}
|
||||
catch (Exception ex) { string s = ex.Message; }
|
||||
});
|
||||
dbh.dsdaten.Tables[0].Rows.Add(dr);
|
||||
dbh.Update_Tabeldata();
|
||||
List<Beruf> tmplst = GetLastByMutierer(Berufdata.mutierer);
|
||||
return tmplst.First<Beruf>().ID;
|
||||
}
|
||||
|
||||
public static void PUT(Beruf Berufdata)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabeldata_for_Update("Select top 1 * from [Beruf] where id=" + Berufdata.ID.ToString(), false, true);
|
||||
DataRow dr = dbh.dsdaten.Tables[0].Rows[0];
|
||||
Berufdata.GetType().GetProperties().ToList().ForEach(f =>
|
||||
{
|
||||
try
|
||||
{
|
||||
if (f.PropertyType == typeof(DateTime))
|
||||
{
|
||||
dr[f.Name] = (DateTime)f.GetValue(Berufdata, null);
|
||||
}
|
||||
else
|
||||
{
|
||||
dr[f.Name] = f.GetValue(Berufdata, null);
|
||||
}
|
||||
}
|
||||
catch (Exception ex) { string s = ex.Message; }
|
||||
});
|
||||
dbh.Update_Tabeldata();
|
||||
|
||||
}
|
||||
|
||||
public static void DELETE(Beruf Berufdata)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabeldata_for_Update("delete from [Beruf] where id=" + Berufdata.ID.ToString(), false, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
135
BlazorApp/Controller/Firma/AnsprechpartnerController.cs
Normal file
135
BlazorApp/Controller/Firma/AnsprechpartnerController.cs
Normal file
@@ -0,0 +1,135 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using BWPMModels;
|
||||
using BlazorApp.Helper;
|
||||
using Newtonsoft.Json;
|
||||
using System.Data;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace BlazorApp.Controller
|
||||
|
||||
{
|
||||
|
||||
public class AnsprechpartnerController : ControllerBase
|
||||
{
|
||||
public static List<Ansprechpartner> GetAllData()
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select * from Ansprechpartner", false, true);
|
||||
return dbh.ConvertDataTable<Ansprechpartner>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static List<ViewAnsprechpartner> GetAllAktivData()
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("SELECT ID, FirmaID, name + ' ' + vorname AS Ansprechpartner FROM dbo.Ansprechpartner WHERE aktiv = 1 ORDER BY Ansprechpartner", false, true);
|
||||
return dbh.ConvertDataTable<ViewAnsprechpartner>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
public static List<Ansprechpartner> GetByID(int ID)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select * from Ansprechpartner where id=" + ID.ToString(), false, true);
|
||||
return dbh.ConvertDataTable<Ansprechpartner>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
public static List<Ansprechpartner> GetByFirmaID(int ID)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select * from Ansprechpartner where aktiv=1 and firmaid=" + ID.ToString(), false, true);
|
||||
return dbh.ConvertDataTable<Ansprechpartner>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static List<Ansprechpartner> GetAllAktivDataByFirmaID(int firmaid)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("SELECT * from Ansprechpartner WHERE aktiv = 1 and firmaid=" + firmaid.ToString() + " ORDER BY Name, Vorname", false, true);
|
||||
return dbh.ConvertDataTable<Ansprechpartner>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
|
||||
public static List<Ansprechpartner> GetLast()
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select top 1 * from Ansprechpartner order by mutiert_am desc", false, true);
|
||||
return dbh.ConvertDataTable<Ansprechpartner>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
public static List<Ansprechpartner> GetLastByMutierer(string Mutierer)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select top 1 * from Ansprechpartner where mutierer='" + Mutierer + "' order by mutiert_am desc", false, true);
|
||||
return dbh.ConvertDataTable<Ansprechpartner>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static List<Ansprechpartner> GetbyUserSQL(string SQL)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata(SQL, false, true);
|
||||
return dbh.ConvertDataTable<Ansprechpartner>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static int POST(Ansprechpartner Ansprechpartnerdata)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabeldata_for_Update("Select top 1 * from [Ansprechpartner] where id=-1", false, true);
|
||||
DataRow dr = dbh.dsdaten.Tables[0].NewRow();
|
||||
Ansprechpartnerdata.GetType().GetProperties().ToList().ForEach(f =>
|
||||
{
|
||||
try
|
||||
{
|
||||
if (f.PropertyType == typeof(DateTime))
|
||||
{
|
||||
dr[f.Name] = (DateTime)f.GetValue(Ansprechpartnerdata, null);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
dr[f.Name] = f.GetValue(Ansprechpartnerdata, null);
|
||||
}
|
||||
}
|
||||
catch (Exception ex) { string s = ex.Message; }
|
||||
});
|
||||
dbh.dsdaten.Tables[0].Rows.Add(dr);
|
||||
dbh.Update_Tabeldata();
|
||||
List<Ansprechpartner> tmplst = GetLastByMutierer(Ansprechpartnerdata.mutierer);
|
||||
return tmplst.First<Ansprechpartner>().ID;
|
||||
}
|
||||
|
||||
public static void PUT(Ansprechpartner Ansprechpartnerdata)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabeldata_for_Update("Select top 1 * from [Ansprechpartner] where id=" + Ansprechpartnerdata.ID.ToString(), false, true);
|
||||
DataRow dr = dbh.dsdaten.Tables[0].Rows[0];
|
||||
Ansprechpartnerdata.GetType().GetProperties().ToList().ForEach(f =>
|
||||
{
|
||||
try
|
||||
{
|
||||
if (f.PropertyType == typeof(DateTime))
|
||||
{
|
||||
dr[f.Name] = (DateTime)f.GetValue(Ansprechpartnerdata, null);
|
||||
}
|
||||
else
|
||||
{
|
||||
dr[f.Name] = f.GetValue(Ansprechpartnerdata, null);
|
||||
}
|
||||
}
|
||||
catch (Exception ex) { string s = ex.Message; }
|
||||
});
|
||||
dbh.Update_Tabeldata();
|
||||
|
||||
}
|
||||
|
||||
public static void DELETE(Ansprechpartner Ansprechpartnerdata)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabeldata_for_Update("delete from [Ansprechpartner] where id=" + Ansprechpartnerdata.ID.ToString(), false, true);
|
||||
}
|
||||
}
|
||||
|
||||
public class ViewAnsprechpartner
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
131
BlazorApp/Controller/Firma/FirmaController.cs
Normal file
131
BlazorApp/Controller/Firma/FirmaController.cs
Normal file
@@ -0,0 +1,131 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using BWPMModels;
|
||||
using BlazorApp.Helper;
|
||||
using Newtonsoft.Json;
|
||||
using System.Data;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace BlazorApp.Controller
|
||||
|
||||
{
|
||||
|
||||
public class FirmaController : ControllerBase
|
||||
{
|
||||
public static List<Firma> GetAllData()
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select * from Firma", false, true);
|
||||
return dbh.ConvertDataTable<Firma>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static List<Firma> GetByID(int ID)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select * from Firma where id=" + ID.ToString(), false, true);
|
||||
return dbh.ConvertDataTable<Firma>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static List<Firma> GetLast()
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select top 1 * from Firma order by mutiert_am desc", false, true);
|
||||
return dbh.ConvertDataTable<Firma>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
public static List<Firma> GetLastByMutierer(string Mutierer)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select top 1 * from Firma where mutierer='" + Mutierer + "' order by mutiert_am desc", false, true);
|
||||
return dbh.ConvertDataTable<Firma>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static List<Firma> GetbyUserSQL(string SQL)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata(SQL, false, true);
|
||||
return dbh.ConvertDataTable<Firma>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static List<Firma> GetByUserID(string UserID)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select * from Firma where userid='" + UserID + "'", false, true);
|
||||
if (dbh.dsdaten.Tables[0].Rows.Count==0)
|
||||
{
|
||||
Firma Firmadata = new Firma();
|
||||
Firmadata.aktiv = true;
|
||||
Firmadata.erstellt_am = DateTime.Now;
|
||||
Firmadata.mutierer = UserID;
|
||||
Firmadata.mutiert_am = DateTime.Now;
|
||||
Firmadata.userid = UserID;
|
||||
POST(Firmadata);
|
||||
dbh.Get_Tabledata("Select * from Firma where userid='" + UserID + "'", false, true);
|
||||
}
|
||||
return dbh.ConvertDataTable<Firma>(dbh.dsdaten.Tables[0]);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
public static int POST(Firma Firmadata)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabeldata_for_Update("Select top 1 * from [Firma] where id=-1", false, true);
|
||||
DataRow dr = dbh.dsdaten.Tables[0].NewRow();
|
||||
Firmadata.GetType().GetProperties().ToList().ForEach(f =>
|
||||
{
|
||||
try
|
||||
{
|
||||
if (f.PropertyType == typeof(DateTime))
|
||||
{
|
||||
dr[f.Name] = (DateTime)f.GetValue(Firmadata, null);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
dr[f.Name] = f.GetValue(Firmadata, null);
|
||||
}
|
||||
}
|
||||
catch (Exception ex) { string s = ex.Message; }
|
||||
});
|
||||
dbh.dsdaten.Tables[0].Rows.Add(dr);
|
||||
dbh.Update_Tabeldata();
|
||||
List<Firma> tmplst = GetLastByMutierer(Firmadata.mutierer);
|
||||
return tmplst.First<Firma>().ID;
|
||||
}
|
||||
|
||||
public static void PUT(Firma Firmadata)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabeldata_for_Update("Select top 1 * from [Firma] where id=" + Firmadata.ID.ToString(), false, true);
|
||||
DataRow dr = dbh.dsdaten.Tables[0].Rows[0];
|
||||
Firmadata.GetType().GetProperties().ToList().ForEach(f =>
|
||||
{
|
||||
try
|
||||
{
|
||||
if (f.PropertyType == typeof(DateTime))
|
||||
{
|
||||
dr[f.Name] = (DateTime)f.GetValue(Firmadata, null);
|
||||
}
|
||||
else
|
||||
{
|
||||
dr[f.Name] = f.GetValue(Firmadata, null);
|
||||
}
|
||||
}
|
||||
catch (Exception ex) { string s = ex.Message; }
|
||||
});
|
||||
dbh.Update_Tabeldata();
|
||||
|
||||
}
|
||||
|
||||
public static void DELETE(Firma Firmadata)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabeldata_for_Update("delete from [Firma] where id=" + Firmadata.ID.ToString(), false, true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
116
BlazorApp/Controller/Firma/FirmaberufController.cs
Normal file
116
BlazorApp/Controller/Firma/FirmaberufController.cs
Normal file
@@ -0,0 +1,116 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using BWPMModels;
|
||||
using BlazorApp.Helper;
|
||||
using Newtonsoft.Json;
|
||||
using System.Data;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace BlazorApp.Controller
|
||||
|
||||
{
|
||||
|
||||
public class FirmaberufController : ControllerBase
|
||||
{
|
||||
public static List<Firmaberuf> GetAllData()
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select * from Firmaberuf", false, true);
|
||||
return dbh.ConvertDataTable<Firmaberuf>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static List<Firmaberuf> GetByID(int ID)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select * from Firmaberuf where id=" + ID.ToString(), false, true);
|
||||
return dbh.ConvertDataTable<Firmaberuf>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static List<Firmaberuf> GetAllAktiveByFirmaID(int ID)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select * from Firmaberuf where aktiv=1 and firmaid=" + ID.ToString(), false, true);
|
||||
return dbh.ConvertDataTable<Firmaberuf>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
public static List<Firmaberuf> GetLast()
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select top 1 * from Firmaberuf order by mutiert_am desc", false, true);
|
||||
return dbh.ConvertDataTable<Firmaberuf>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
public static List<Firmaberuf> GetLastByMutierer(string Mutierer)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select top 1 * from Firmaberuf where mutierer='" + Mutierer + "' order by mutiert_am desc", false, true);
|
||||
return dbh.ConvertDataTable<Firmaberuf>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static List<Firmaberuf> GetbyUserSQL(string SQL)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata(SQL, false, true);
|
||||
return dbh.ConvertDataTable<Firmaberuf>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static int POST(Firmaberuf Firmaberufdata)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabeldata_for_Update("Select top 1 * from [Firmaberuf] where id=-1", false, true);
|
||||
DataRow dr = dbh.dsdaten.Tables[0].NewRow();
|
||||
Firmaberufdata.GetType().GetProperties().ToList().ForEach(f =>
|
||||
{
|
||||
try
|
||||
{
|
||||
if (f.PropertyType == typeof(DateTime))
|
||||
{
|
||||
dr[f.Name] = (DateTime)f.GetValue(Firmaberufdata, null);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
dr[f.Name] = f.GetValue(Firmaberufdata, null);
|
||||
}
|
||||
}
|
||||
catch (Exception ex) { string s = ex.Message; }
|
||||
});
|
||||
dbh.dsdaten.Tables[0].Rows.Add(dr);
|
||||
dbh.Update_Tabeldata();
|
||||
List<Firmaberuf> tmplst = GetLastByMutierer(Firmaberufdata.mutierer);
|
||||
return tmplst.First<Firmaberuf>().ID;
|
||||
}
|
||||
|
||||
public static void PUT(Firmaberuf Firmaberufdata)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabeldata_for_Update("Select top 1 * from [Firmaberuf] where id=" + Firmaberufdata.ID.ToString(), false, true);
|
||||
DataRow dr = dbh.dsdaten.Tables[0].Rows[0];
|
||||
Firmaberufdata.GetType().GetProperties().ToList().ForEach(f =>
|
||||
{
|
||||
try
|
||||
{
|
||||
if (f.PropertyType == typeof(DateTime))
|
||||
{
|
||||
dr[f.Name] = (DateTime)f.GetValue(Firmaberufdata, null);
|
||||
}
|
||||
else
|
||||
{
|
||||
dr[f.Name] = f.GetValue(Firmaberufdata, null);
|
||||
}
|
||||
}
|
||||
catch (Exception ex) { string s = ex.Message; }
|
||||
});
|
||||
dbh.Update_Tabeldata();
|
||||
|
||||
}
|
||||
|
||||
public static void DELETE(Firmaberuf Firmaberufdata)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabeldata_for_Update("delete from [Firmaberuf] where id=" + Firmaberufdata.ID.ToString(), false, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
118
BlazorApp/Controller/Klasse/KlasseController.cs
Normal file
118
BlazorApp/Controller/Klasse/KlasseController.cs
Normal file
@@ -0,0 +1,118 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using BWPMModels;
|
||||
using BlazorApp.Helper;
|
||||
using Newtonsoft.Json;
|
||||
using System.Data;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace BlazorApp.Controller
|
||||
|
||||
{
|
||||
|
||||
public class KlasseController : ControllerBase
|
||||
{
|
||||
public static List<Klasse> GetAllData()
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select * from Klasse", false, true);
|
||||
return dbh.ConvertDataTable<Klasse>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static List<Klasse> GetByID(int ID)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select * from Klasse where id=" + ID.ToString(), false, true);
|
||||
return dbh.ConvertDataTable<Klasse>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static List<Klasse> GetByLehrerID(int ID)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select * from Klasse where lehrerid=" + ID.ToString(), false, true);
|
||||
return dbh.ConvertDataTable<Klasse>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
|
||||
public static List<Klasse> GetLast()
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select top 1 * from Klasse order by mutiert_am desc", false, true);
|
||||
return dbh.ConvertDataTable<Klasse>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
public static List<Klasse> GetLastByMutierer(string Mutierer)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select top 1 * from Klasse where mutierer='" + Mutierer + "' order by mutiert_am desc", false, true);
|
||||
return dbh.ConvertDataTable<Klasse>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static List<Klasse> GetbyUserSQL(string SQL)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata(SQL, false, true);
|
||||
return dbh.ConvertDataTable<Klasse>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static int POST(Klasse Klassedata)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabeldata_for_Update("Select top 1 * from [Klasse] where id=-1", false, true);
|
||||
DataRow dr = dbh.dsdaten.Tables[0].NewRow();
|
||||
Klassedata.GetType().GetProperties().ToList().ForEach(f =>
|
||||
{
|
||||
try
|
||||
{
|
||||
if (f.PropertyType == typeof(DateTime))
|
||||
{
|
||||
dr[f.Name] = (DateTime)f.GetValue(Klassedata, null);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
dr[f.Name] = f.GetValue(Klassedata, null);
|
||||
}
|
||||
}
|
||||
catch (Exception ex) { string s = ex.Message; }
|
||||
});
|
||||
dbh.dsdaten.Tables[0].Rows.Add(dr);
|
||||
dbh.Update_Tabeldata();
|
||||
List<Klasse> tmplst = GetLastByMutierer(Klassedata.mutierer);
|
||||
return tmplst.First<Klasse>().ID;
|
||||
}
|
||||
|
||||
public static void PUT(Klasse Klassedata)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabeldata_for_Update("Select top 1 * from [Klasse] where id=" + Klassedata.ID.ToString(), false, true);
|
||||
DataRow dr = dbh.dsdaten.Tables[0].Rows[0];
|
||||
Klassedata.GetType().GetProperties().ToList().ForEach(f =>
|
||||
{
|
||||
try
|
||||
{
|
||||
if (f.PropertyType == typeof(DateTime))
|
||||
{
|
||||
dr[f.Name] = (DateTime)f.GetValue(Klassedata, null);
|
||||
}
|
||||
else
|
||||
{
|
||||
dr[f.Name] = f.GetValue(Klassedata, null);
|
||||
}
|
||||
}
|
||||
catch (Exception ex) { string s = ex.Message; }
|
||||
});
|
||||
dbh.Update_Tabeldata();
|
||||
|
||||
}
|
||||
|
||||
public static void DELETE(Klasse Klassedata)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabeldata_for_Update("delete from [Klasse] where id=" + Klassedata.ID.ToString(), false, true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
114
BlazorApp/Controller/KlassenTyp/KlassentypController.cs
Normal file
114
BlazorApp/Controller/KlassenTyp/KlassentypController.cs
Normal file
@@ -0,0 +1,114 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using BWPMModels;
|
||||
using BlazorApp.Helper;
|
||||
using Newtonsoft.Json;
|
||||
using System.Data;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace BlazorApp.Controller
|
||||
|
||||
{
|
||||
|
||||
public class KlassentypController : ControllerBase
|
||||
{
|
||||
public static List<Klassentyp> GetAllData()
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select * from Klassentyp", false, true);
|
||||
return dbh.ConvertDataTable<Klassentyp>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static List<Klassentyp> GetAllAktiveData()
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select * from Klassentyp where aktiv=1", false, true);
|
||||
return dbh.ConvertDataTable<Klassentyp>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static List<Klassentyp> GetByID(int ID)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select * from Klassentyp where id=" + ID.ToString(), false, true);
|
||||
return dbh.ConvertDataTable<Klassentyp>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static List<Klassentyp> GetLast()
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select top 1 * from Klassentyp order by mutiert_am desc", false, true);
|
||||
return dbh.ConvertDataTable<Klassentyp>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
public static List<Klassentyp> GetLastByMutierer(string Mutierer)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select top 1 * from Klassentyp where mutierer='" + Mutierer + "' order by mutiert_am desc", false, true);
|
||||
return dbh.ConvertDataTable<Klassentyp>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static List<Klassentyp> GetbyUserSQL(string SQL)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata(SQL, false, true);
|
||||
return dbh.ConvertDataTable<Klassentyp>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static int POST(Klassentyp Klassentypdata)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabeldata_for_Update("Select top 1 * from [Klassentyp] where id=-1", false, true);
|
||||
DataRow dr = dbh.dsdaten.Tables[0].NewRow();
|
||||
Klassentypdata.GetType().GetProperties().ToList().ForEach(f =>
|
||||
{
|
||||
try
|
||||
{
|
||||
if (f.PropertyType == typeof(DateTime))
|
||||
{
|
||||
dr[f.Name] = (DateTime)f.GetValue(Klassentypdata, null);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
dr[f.Name] = f.GetValue(Klassentypdata, null);
|
||||
}
|
||||
}
|
||||
catch (Exception ex) { string s = ex.Message; }
|
||||
});
|
||||
dbh.dsdaten.Tables[0].Rows.Add(dr);
|
||||
dbh.Update_Tabeldata();
|
||||
List<Klassentyp> tmplst = GetLastByMutierer(Klassentypdata.mutierer);
|
||||
return tmplst.First<Klassentyp>().ID;
|
||||
}
|
||||
|
||||
public static void PUT(Klassentyp Klassentypdata)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabeldata_for_Update("Select top 1 * from [Klassentyp] where id=" + Klassentypdata.ID.ToString(), false, true);
|
||||
DataRow dr = dbh.dsdaten.Tables[0].Rows[0];
|
||||
Klassentypdata.GetType().GetProperties().ToList().ForEach(f =>
|
||||
{
|
||||
try
|
||||
{
|
||||
if (f.PropertyType == typeof(DateTime))
|
||||
{
|
||||
dr[f.Name] = (DateTime)f.GetValue(Klassentypdata, null);
|
||||
}
|
||||
else
|
||||
{
|
||||
dr[f.Name] = f.GetValue(Klassentypdata, null);
|
||||
}
|
||||
}
|
||||
catch (Exception ex) { string s = ex.Message; }
|
||||
});
|
||||
dbh.Update_Tabeldata();
|
||||
|
||||
}
|
||||
|
||||
public static void DELETE(Klassentyp Klassentypdata)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabeldata_for_Update("delete from [Klassentyp] where id=" + Klassentypdata.ID.ToString(), false, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
31
BlazorApp/Controller/MyScript/MyScriptController.cs
Normal file
31
BlazorApp/Controller/MyScript/MyScriptController.cs
Normal file
@@ -0,0 +1,31 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using BWPMModels;
|
||||
using BlazorApp.Helper;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
|
||||
namespace BlazorApp.Controller
|
||||
{
|
||||
public class MyScriptController
|
||||
{
|
||||
public static List<MyScriptGenerator> GetAllData()
|
||||
{
|
||||
Helper.HttpClientHelper httpcli = new Helper.HttpClientHelper();
|
||||
httpcli.CallService("Optionen", "", "GET", null);
|
||||
return JsonConvert.DeserializeObject<List<MyScriptGenerator>>(httpcli.Results.daten);
|
||||
|
||||
}
|
||||
|
||||
public static List<MyScriptGenerator> GetData(int fnkt, string tablename)
|
||||
{
|
||||
Helper.HttpClientHelper httpcli = new Helper.HttpClientHelper();
|
||||
httpcli.CallService("MyScript", fnkt.ToString()+","+tablename+"", "GET", null);
|
||||
return JsonConvert.DeserializeObject<List<MyScriptGenerator>>(httpcli.Results.daten);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
13
BlazorApp/Controller/NewAnredeController.cs
Normal file
13
BlazorApp/Controller/NewAnredeController.cs
Normal file
@@ -0,0 +1,13 @@
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BlazorApp.Controller
|
||||
{
|
||||
public class NewAnredeController : ControllerBase
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
110
BlazorApp/Controller/Optionen/OptionenController.cs
Normal file
110
BlazorApp/Controller/Optionen/OptionenController.cs
Normal file
@@ -0,0 +1,110 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using BWPMModels;
|
||||
using BlazorApp.Helper;
|
||||
using Newtonsoft.Json;
|
||||
using System.Data;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace BlazorApp.Controller
|
||||
|
||||
{
|
||||
|
||||
public class OptionenController : ControllerBase
|
||||
{
|
||||
public static List<Optionen> GetAllData()
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select * from Optionen", false, true);
|
||||
return dbh.ConvertDataTable<Optionen>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static List<Optionen> GetByID(int ID)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select * from Optionen where id=" + ID.ToString(), false, true);
|
||||
return dbh.ConvertDataTable<Optionen>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static List<Optionen> GetLast()
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select top 1 * from Optionen order by mutiert_am desc", false, true);
|
||||
return dbh.ConvertDataTable<Optionen>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
public static List<Optionen> GetLastByMutierer(string Mutierer)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select top 1 * from Optionen where mutierer='" + Mutierer + "' order by mutiert_am desc", false, true);
|
||||
return dbh.ConvertDataTable<Optionen>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static List<Optionen> GetbyUserSQL(string SQL)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata(SQL, false, true);
|
||||
return dbh.ConvertDataTable<Optionen>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static int POST(Optionen Optionendata)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabeldata_for_Update("Select top 1 * from [Optionen] where id=-1", false, true);
|
||||
DataRow dr = dbh.dsdaten.Tables[0].NewRow();
|
||||
Optionendata.GetType().GetProperties().ToList().ForEach(f =>
|
||||
{
|
||||
try
|
||||
{
|
||||
if (f.PropertyType == typeof(DateTime))
|
||||
{
|
||||
dr[f.Name] = (DateTime)f.GetValue(Optionendata, null);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
dr[f.Name] = f.GetValue(Optionendata, null);
|
||||
}
|
||||
}
|
||||
catch (Exception ex) { string s = ex.Message; }
|
||||
});
|
||||
dbh.dsdaten.Tables[0].Rows.Add(dr);
|
||||
dbh.Update_Tabeldata();
|
||||
List<Optionen> tmplst = GetLastByMutierer(Optionendata.mutierer);
|
||||
return tmplst.First<Optionen>().ID;
|
||||
}
|
||||
|
||||
public static void PUT(Optionen Optionendata)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabeldata_for_Update("Select top 1 * from [Optionen] where id=" + Optionendata.ID.ToString(), false, true);
|
||||
DataRow dr = dbh.dsdaten.Tables[0].Rows[0];
|
||||
Optionendata.GetType().GetProperties().ToList().ForEach(f =>
|
||||
{
|
||||
try
|
||||
{
|
||||
if (f.PropertyType == typeof(DateTime))
|
||||
{
|
||||
dr[f.Name] = (DateTime)f.GetValue(Optionendata, null);
|
||||
}
|
||||
else
|
||||
{
|
||||
dr[f.Name] = f.GetValue(Optionendata, null);
|
||||
}
|
||||
}
|
||||
catch (Exception ex) { string s = ex.Message; }
|
||||
});
|
||||
dbh.Update_Tabeldata();
|
||||
|
||||
}
|
||||
|
||||
public static void DELETE(Optionen Optionendata)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabeldata_for_Update("delete from [Optionen] where id=" + Optionendata.ID.ToString(), false, true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -1,47 +1,110 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using BWPMModels;
|
||||
using BlazorApp.Helper;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
using System.Data;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace BlazorApp.Controller
|
||||
|
||||
{
|
||||
public class SchulhausController
|
||||
|
||||
public class SchulhausController : ControllerBase
|
||||
{
|
||||
public static List<Schulhaus> GetAllData()
|
||||
{
|
||||
Helper.HttpClientHelper httpcli = new Helper.HttpClientHelper();
|
||||
httpcli.CallService("Schulhaus", "", "GET", null);
|
||||
return JsonConvert.DeserializeObject<List<Schulhaus>>(httpcli.Results.daten);
|
||||
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select * from Schulhaus", false, true);
|
||||
return dbh.ConvertDataTable<Schulhaus>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static void savedata(Schulhaus Schulhausdata)
|
||||
public static List<Schulhaus> GetByID(int ID)
|
||||
{
|
||||
Helper.HttpClientHelper httpcli = new Helper.HttpClientHelper();
|
||||
httpcli.CallService("Schulhaus", Schulhausdata.ID.ToString(), "PUT", Schulhausdata);
|
||||
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select * from Schulhaus where id=" + ID.ToString(), false, true);
|
||||
return dbh.ConvertDataTable<Schulhaus>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
public static int InsertData(Schulhaus Schulhausdata)
|
||||
|
||||
public static List<Schulhaus> GetLast()
|
||||
{
|
||||
Helper.HttpClientHelper httpcli = new Helper.HttpClientHelper();
|
||||
httpcli.CallService("Schulhaus", "", "POST", Schulhausdata);
|
||||
List<BWPMModels.Schulhaus> LastSchulhaus = new List<Schulhaus>();
|
||||
LastSchulhaus = GetLast(Schulhausdata);
|
||||
return LastSchulhaus.First<Schulhaus>().ID;
|
||||
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select top 1 * from Schulhaus order by mutiert_am desc", false, true);
|
||||
return dbh.ConvertDataTable<Schulhaus>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static List<Schulhaus> GetLast(Schulhaus Schulhausdata)
|
||||
public static List<Schulhaus> GetLastByMutierer(string Mutierer)
|
||||
{
|
||||
Helper.HttpClientHelper httpcli = new Helper.HttpClientHelper();
|
||||
string sql = "Select top 1 * from Schulhaus where mutierer='" + Schulhausdata.mutierer + "' order by erstellt_am desc";
|
||||
httpcli.CallService("Schulhaus", "usersql/" + sql, "GET", Schulhausdata);
|
||||
return JsonConvert.DeserializeObject<List<Schulhaus>>(httpcli.Results.daten);
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select top 1 * from Schulhaus where mutierer='" + Mutierer + "' order by mutiert_am desc", false, true);
|
||||
return dbh.ConvertDataTable<Schulhaus>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static List<Schulhaus> GetbyUserSQL(string SQL)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata(SQL, false, true);
|
||||
return dbh.ConvertDataTable<Schulhaus>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static int POST(Schulhaus Schulhausdata)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabeldata_for_Update("Select top 1 * from [Schulhaus] where id=-1", false, true);
|
||||
DataRow dr = dbh.dsdaten.Tables[0].NewRow();
|
||||
Schulhausdata.GetType().GetProperties().ToList().ForEach(f =>
|
||||
{
|
||||
try
|
||||
{
|
||||
if (f.PropertyType == typeof(DateTime))
|
||||
{
|
||||
dr[f.Name] = (DateTime)f.GetValue(Schulhausdata, null);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
dr[f.Name] = f.GetValue(Schulhausdata, null);
|
||||
}
|
||||
}
|
||||
catch (Exception ex) { string s = ex.Message; }
|
||||
});
|
||||
dbh.dsdaten.Tables[0].Rows.Add(dr);
|
||||
dbh.Update_Tabeldata();
|
||||
List<Schulhaus> tmplst = GetLastByMutierer(Schulhausdata.mutierer);
|
||||
return tmplst.First<Schulhaus>().ID;
|
||||
}
|
||||
|
||||
public static void PUT(Schulhaus Schulhausdata)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabeldata_for_Update("Select top 1 * from [Schulhaus] where id=" + Schulhausdata.ID.ToString(), false, true);
|
||||
DataRow dr = dbh.dsdaten.Tables[0].Rows[0];
|
||||
Schulhausdata.GetType().GetProperties().ToList().ForEach(f =>
|
||||
{
|
||||
try
|
||||
{
|
||||
if (f.PropertyType == typeof(DateTime))
|
||||
{
|
||||
dr[f.Name] = (DateTime)f.GetValue(Schulhausdata, null);
|
||||
}
|
||||
else
|
||||
{
|
||||
dr[f.Name] = f.GetValue(Schulhausdata, null);
|
||||
}
|
||||
}
|
||||
catch (Exception ex) { string s = ex.Message; }
|
||||
});
|
||||
dbh.Update_Tabeldata();
|
||||
|
||||
}
|
||||
|
||||
public static void DELETE(Schulhaus Schulhausdata)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabeldata_for_Update("delete from [Schulhaus] where id=" + Schulhausdata.ID.ToString(), false, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
131
BlazorApp/Controller/Teacher/LehrerController.cs
Normal file
131
BlazorApp/Controller/Teacher/LehrerController.cs
Normal file
@@ -0,0 +1,131 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using BWPMModels;
|
||||
using BlazorApp.Helper;
|
||||
using Newtonsoft.Json;
|
||||
using System.Data;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace BlazorApp.Controller
|
||||
|
||||
{
|
||||
|
||||
public class LehrerController : ControllerBase
|
||||
{
|
||||
public static List<Lehrer> GetAllData()
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select * from Lehrer", false, true);
|
||||
return dbh.ConvertDataTable<Lehrer>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static List<Lehrer> GetByID(int ID)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select * from Lehrer where id=" + ID.ToString(), false, true);
|
||||
return dbh.ConvertDataTable<Lehrer>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static List<Lehrer> GetByUserID(string UserID)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select * from Lehrer where userid='" + UserID + "'", false, true);
|
||||
if (dbh.dsdaten.Tables[0].Rows.Count == 0)
|
||||
{
|
||||
Lehrer Lehrerdata = new Lehrer();
|
||||
|
||||
|
||||
Lehrerdata.aktiv = true;
|
||||
Lehrerdata.erstellt_am = DateTime.Now;
|
||||
Lehrerdata.mutierer = UserID;
|
||||
Lehrerdata.mutiert_am = DateTime.Now;
|
||||
Lehrerdata.userid = UserID;
|
||||
|
||||
POST(Lehrerdata);
|
||||
dbh.Get_Tabledata("Select * from Lehrer where userid='" + UserID + "'", false, true);
|
||||
}
|
||||
return dbh.ConvertDataTable<Lehrer>(dbh.dsdaten.Tables[0]);
|
||||
|
||||
}
|
||||
public static List<Lehrer> GetLast()
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select top 1 * from Lehrer order by mutiert_am desc", false, true);
|
||||
return dbh.ConvertDataTable<Lehrer>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
public static List<Lehrer> GetLastByMutierer(string Mutierer)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select top 1 * from Lehrer where mutierer='" + Mutierer + "' order by mutiert_am desc", false, true);
|
||||
return dbh.ConvertDataTable<Lehrer>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static List<Lehrer> GetbyUserSQL(string SQL)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata(SQL, false, true);
|
||||
return dbh.ConvertDataTable<Lehrer>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static int POST(Lehrer Lehrerdata)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabeldata_for_Update("Select top 1 * from [Lehrer] where id=-1", false, true);
|
||||
DataRow dr = dbh.dsdaten.Tables[0].NewRow();
|
||||
Lehrerdata.GetType().GetProperties().ToList().ForEach(f =>
|
||||
{
|
||||
try
|
||||
{
|
||||
if (f.PropertyType == typeof(DateTime))
|
||||
{
|
||||
dr[f.Name] = (DateTime)f.GetValue(Lehrerdata, null);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
dr[f.Name] = f.GetValue(Lehrerdata, null);
|
||||
}
|
||||
}
|
||||
catch (Exception ex) { string s = ex.Message; }
|
||||
});
|
||||
dbh.dsdaten.Tables[0].Rows.Add(dr);
|
||||
dbh.Update_Tabeldata();
|
||||
List<Lehrer> tmplst = GetLastByMutierer(Lehrerdata.mutierer);
|
||||
return tmplst.First<Lehrer>().ID;
|
||||
}
|
||||
|
||||
public static void PUT(Lehrer Lehrerdata)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabeldata_for_Update("Select top 1 * from [Lehrer] where id=" + Lehrerdata.ID.ToString(), false, true);
|
||||
DataRow dr = dbh.dsdaten.Tables[0].Rows[0];
|
||||
Lehrerdata.GetType().GetProperties().ToList().ForEach(f =>
|
||||
{
|
||||
try
|
||||
{
|
||||
if (f.PropertyType == typeof(DateTime))
|
||||
{
|
||||
dr[f.Name] = (DateTime)f.GetValue(Lehrerdata, null);
|
||||
}
|
||||
else
|
||||
{
|
||||
dr[f.Name] = f.GetValue(Lehrerdata, null);
|
||||
}
|
||||
}
|
||||
catch (Exception ex) { string s = ex.Message; }
|
||||
});
|
||||
dbh.Update_Tabeldata();
|
||||
|
||||
}
|
||||
|
||||
public static void DELETE(Lehrer Lehrerdata)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabeldata_for_Update("delete from [Lehrer] where id=" + Lehrerdata.ID.ToString(), false, true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -1,47 +1,116 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using BWPMModels;
|
||||
using BlazorApp.Helper;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
using System.Data;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace BlazorApp.Controller
|
||||
|
||||
{
|
||||
public class ZeitenController
|
||||
|
||||
public class ZeitenController : ControllerBase
|
||||
{
|
||||
public static List<Zeiten> GetAllData()
|
||||
{
|
||||
Helper.HttpClientHelper httpcli = new Helper.HttpClientHelper();
|
||||
httpcli.CallService("Zeiten", "", "GET", null);
|
||||
return JsonConvert.DeserializeObject<List<Zeiten>>(httpcli.Results.daten);
|
||||
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select * from Zeiten", false, true);
|
||||
return dbh.ConvertDataTable<Zeiten>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static void savedata(Zeiten Zeitendata)
|
||||
public static List<Zeiten> GetAllAktiveData()
|
||||
{
|
||||
Helper.HttpClientHelper httpcli = new Helper.HttpClientHelper();
|
||||
httpcli.CallService("Zeiten", Zeitendata.ID.ToString(), "PUT", Zeitendata);
|
||||
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select * from Zeiten where aktiv=1 order by reihenfolge", false, true);
|
||||
return dbh.ConvertDataTable<Zeiten>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
public static int InsertData(Zeiten Zeitendata)
|
||||
|
||||
public static List<Zeiten> GetByID(int ID)
|
||||
{
|
||||
Helper.HttpClientHelper httpcli = new Helper.HttpClientHelper();
|
||||
httpcli.CallService("Zeiten", "", "POST", Zeitendata);
|
||||
List<BWPMModels.Zeiten> LastZeiten = new List<Zeiten>();
|
||||
LastZeiten = GetLast(Zeitendata);
|
||||
return LastZeiten.First<Zeiten>().ID;
|
||||
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select * from Zeiten where id=" + ID.ToString(), false, true);
|
||||
return dbh.ConvertDataTable<Zeiten>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static List<Zeiten> GetLast(Zeiten Zeitendata)
|
||||
public static List<Zeiten> GetLast()
|
||||
{
|
||||
Helper.HttpClientHelper httpcli = new Helper.HttpClientHelper();
|
||||
string sql = "Select top 1 * from Zeiten where mutierer='" + Zeitendata.mutierer + "' order by erstellt_am desc";
|
||||
httpcli.CallService("Zeiten", "usersql/" + sql, "GET", Zeitendata);
|
||||
return JsonConvert.DeserializeObject<List<Zeiten>>(httpcli.Results.daten);
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select top 1 * from Zeiten order by mutiert_am desc", false, true);
|
||||
return dbh.ConvertDataTable<Zeiten>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
public static List<Zeiten> GetLastByMutierer(string Mutierer)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata("Select top 1 * from Zeiten where mutierer='" + Mutierer + "' order by mutiert_am desc", false, true);
|
||||
return dbh.ConvertDataTable<Zeiten>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static List<Zeiten> GetbyUserSQL(string SQL)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabledata(SQL, false, true);
|
||||
return dbh.ConvertDataTable<Zeiten>(dbh.dsdaten.Tables[0]);
|
||||
}
|
||||
|
||||
public static int POST(Zeiten Zeitendata)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabeldata_for_Update("Select top 1 * from [Zeiten] where id=-1", false, true);
|
||||
DataRow dr = dbh.dsdaten.Tables[0].NewRow();
|
||||
Zeitendata.GetType().GetProperties().ToList().ForEach(f =>
|
||||
{
|
||||
try
|
||||
{
|
||||
if (f.PropertyType == typeof(DateTime))
|
||||
{
|
||||
dr[f.Name] = (DateTime)f.GetValue(Zeitendata, null);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
dr[f.Name] = f.GetValue(Zeitendata, null);
|
||||
}
|
||||
}
|
||||
catch (Exception ex) { string s = ex.Message; }
|
||||
});
|
||||
dbh.dsdaten.Tables[0].Rows.Add(dr);
|
||||
dbh.Update_Tabeldata();
|
||||
List<Zeiten> tmplst = GetLastByMutierer(Zeitendata.mutierer);
|
||||
return tmplst.First<Zeiten>().ID;
|
||||
}
|
||||
|
||||
public static void PUT(Zeiten Zeitendata)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabeldata_for_Update("Select top 1 * from [Zeiten] where id=" + Zeitendata.ID.ToString(), false, true);
|
||||
DataRow dr = dbh.dsdaten.Tables[0].Rows[0];
|
||||
Zeitendata.GetType().GetProperties().ToList().ForEach(f =>
|
||||
{
|
||||
try
|
||||
{
|
||||
if (f.PropertyType == typeof(DateTime))
|
||||
{
|
||||
dr[f.Name] = (DateTime)f.GetValue(Zeitendata, null);
|
||||
}
|
||||
else
|
||||
{
|
||||
dr[f.Name] = f.GetValue(Zeitendata, null);
|
||||
}
|
||||
}
|
||||
catch (Exception ex) { string s = ex.Message; }
|
||||
});
|
||||
dbh.Update_Tabeldata();
|
||||
|
||||
}
|
||||
|
||||
public static void DELETE(Zeiten Zeitendata)
|
||||
{
|
||||
dbhelper dbh = new dbhelper();
|
||||
dbh.Get_Tabeldata_for_Update("delete from [Zeiten] where id=" + Zeitendata.ID.ToString(), false, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
27
BlazorApp/Dockerfile
Normal file
27
BlazorApp/Dockerfile
Normal file
@@ -0,0 +1,27 @@
|
||||
#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.
|
||||
|
||||
FROM mcr.microsoft.com/dotnet/aspnet:3.1 AS base
|
||||
WORKDIR /app
|
||||
EXPOSE 80
|
||||
EXPOSE 443
|
||||
|
||||
FROM mcr.microsoft.com/dotnet/sdk:3.1 AS build
|
||||
WORKDIR /src
|
||||
COPY ["BlazorApp/BlazorApp.csproj", "BlazorApp/"]
|
||||
COPY ["Models/BWPMModels.csproj", "Models/"]
|
||||
RUN dotnet restore "BlazorApp/BlazorApp.csproj"
|
||||
COPY . .
|
||||
WORKDIR "/src/BlazorApp"
|
||||
RUN dotnet build "BlazorApp.csproj" -c Release -o /app/build
|
||||
|
||||
FROM build AS publish
|
||||
RUN dotnet publish "BlazorApp.csproj" -c Release -o /app/publish
|
||||
|
||||
FROM base AS final
|
||||
WORKDIR /app
|
||||
COPY --from=publish /app/publish .
|
||||
RUN apt-get update
|
||||
RUN apt-get install -y xvfb x11vnc x11-xkb-utils xfonts-100dpi xfonts-75dpi xfonts-scalable xfonts-cyrillic x11-apps libgdiplus libx11-dev
|
||||
|
||||
ENV DISPLAY :99
|
||||
ENTRYPOINT ["dotnet", "BlazorApp.dll"]
|
||||
@@ -16,13 +16,22 @@ namespace BlazorApp
|
||||
new MenuItem()
|
||||
{ Name = "Dashboard", Path = "/Admin/Dashboard", Icon = "dashboard" },
|
||||
new MenuItem()
|
||||
{ Name = "Firma-Daten", Path = "/Admin/Firmen", Icon = "account_balance" },
|
||||
{ Name = "Firmen-Daten", Path = "/Company/Company", Icon = "account_balance" },
|
||||
new MenuItem()
|
||||
{ Name = "Ansprechpartner", Path = "/Admin/Firmen", Icon = "account_balance" },
|
||||
{ Name = "Ansprechpartner", Path = "/Company/CompanyContact", Icon = "account_balance" },
|
||||
new MenuItem()
|
||||
{ Name = "Berufsangebot", Path = "/Admin/Firmen", Icon = "account_balance" },
|
||||
new MenuItem()
|
||||
{ Name = "Auswertungen", Path = "/Admin/Firmen", Icon = "account_balance" },
|
||||
{ Name = "Berufsangebot", Path = "/Company/Berufsangebot", Icon = "account_balance" },
|
||||
//new MenuItem()
|
||||
//{ Name = "Auswertungen",Icon = "account_balance" },
|
||||
new MenuItem()
|
||||
{
|
||||
Name = "Auswertungen",Icon="Home",
|
||||
Children = new []
|
||||
{
|
||||
new MenuItem() {Name="Firmen/Angebot",Path = "/Reporting/Reporting/1"},
|
||||
new MenuItem() {Name="Dokumente",Path = "/Reporting/Reprots/ReportNr=2"},
|
||||
},
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
@@ -31,9 +40,20 @@ namespace BlazorApp
|
||||
new MenuItem()
|
||||
{ Name = "Home", Path = "/", Icon = "home" },
|
||||
new MenuItem()
|
||||
{ Name = "Dashboard", Path = "/Admin/Dashboard", Icon = "dashboard" },
|
||||
{ Name = "Dashboard", Path = "/Teacher/Dashboard", Icon = "dashboard" },
|
||||
new MenuItem()
|
||||
{ Name = "Firmen", Path = "/Admin/Firmen", Icon = "account_balance" },
|
||||
{ Name = "Stammdaten", Path = "/Teacher/TeacherContact", Icon = "account_balance" },
|
||||
new MenuItem()
|
||||
{ Name = "Schüler/Berufswahl", Path = "/Teacher/TeacherStudent", Icon = "account_balance" },
|
||||
new MenuItem()
|
||||
{
|
||||
Name = "Auswertungen",Icon="Home",
|
||||
Children = new []
|
||||
{
|
||||
new MenuItem() {Name="Firmen/Angebot",Path = "/Reporting/Reporting/1"},
|
||||
new MenuItem() {Name="Dokumente",Path = "/Reporting/Reprots/ReportNr=2"},
|
||||
},
|
||||
}
|
||||
};
|
||||
|
||||
MenuItem[] AdminMenu = new[] {
|
||||
@@ -58,14 +78,16 @@ namespace BlazorApp
|
||||
Name = "Stammdaten",Icon="Home",
|
||||
Children = new []
|
||||
{
|
||||
new MenuItem() {Name="Einstellungen",Path = "Admin/Optionen/OptionenList"},
|
||||
new MenuItem() {Name="Benutzer",Path = "Admin/AspNetUsers/AspNetUserRolleList"},
|
||||
new MenuItem() {Name="Berufe",Path = "Admin/Beruf/BerufList"},
|
||||
new MenuItem() {Name="Zeiten",Path = "Admin/Zeiten/ZeitenList"},
|
||||
new MenuItem() {Name="Schulhaus",Path = "Admin/Schulhaus/Schulhauslist"},
|
||||
new MenuItem() {Name="Lehrer",Path = "Admin/Lehrer"},
|
||||
new MenuItem() {Name="Klassen",Path = "Admin/Klassen"},
|
||||
new MenuItem() {Name="Klassentyp",Path = "Admin/Klassentyp"},
|
||||
new MenuItem() {Name="Klassentyp",Path = "Admin/Klassentyp/Klassentyplist"},
|
||||
new MenuItem() {Name="Zugehörigkeit",Path = "Admin/Zugehörigkeit"},
|
||||
new MenuItem() {Name="Anrede",Path = "Admin/Anrede/AnredeList"},
|
||||
},
|
||||
},
|
||||
new MenuItem()
|
||||
@@ -118,7 +140,7 @@ namespace BlazorApp
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -15,6 +15,11 @@ namespace BlazorApp.Helper
|
||||
var configuation = GetConfiguration();
|
||||
return configuation.GetSection("Appsettings").GetSection(Keyvalue).Value;
|
||||
}
|
||||
public string GetConnString(string Keyvalue)
|
||||
{
|
||||
var configuation = GetConfiguration();
|
||||
return configuation.GetSection("ConnectionStrings").GetSection(Keyvalue).Value;
|
||||
}
|
||||
|
||||
public IConfigurationRoot GetConfiguration()
|
||||
{
|
||||
|
||||
292
BlazorApp/Helper/dbhelper.cs
Normal file
292
BlazorApp/Helper/dbhelper.cs
Normal file
@@ -0,0 +1,292 @@
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BlazorApp.Helper
|
||||
{
|
||||
public class dbhelper
|
||||
{
|
||||
//SqlConnection con;
|
||||
string connectionstring;
|
||||
public DataSet dsdaten = new DataSet();
|
||||
private SqlDataAdapter dadaten;
|
||||
public dbhelper()
|
||||
{
|
||||
var configuation = GetConfiguration();
|
||||
connectionstring = configuation.GetSection("ConnectionStrings").GetSection("BlazorAppContextConnection").Value;
|
||||
}
|
||||
|
||||
public string Get_Option(int ID)
|
||||
{
|
||||
try
|
||||
{
|
||||
SqlDataAdapter dad = new SqlDataAdapter();
|
||||
|
||||
|
||||
string sql = "Select Inhalt from optionen where id=" + ID.ToString() ;
|
||||
DataTable data = new DataTable();
|
||||
|
||||
dad = new SqlDataAdapter(sql, this.connectionstring);
|
||||
|
||||
dad.Fill(data);
|
||||
string s;
|
||||
s = data.Rows[0][0].ToString();
|
||||
return s;
|
||||
dad.Dispose();
|
||||
data.Dispose();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
int a = 1;
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
public static DataTable ObjectToDataTable(object o)
|
||||
{
|
||||
DataTable dt = new DataTable();
|
||||
List<PropertyInfo> properties = o.GetType().GetProperties().ToList();
|
||||
|
||||
foreach (PropertyInfo prop in properties)
|
||||
|
||||
dt.Columns.Add(prop.Name, prop.PropertyType);
|
||||
|
||||
dt.TableName = o.GetType().Name;
|
||||
|
||||
return dt;
|
||||
}
|
||||
public IConfigurationRoot GetConfiguration()
|
||||
{
|
||||
var builder = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);
|
||||
return builder.Build();
|
||||
}
|
||||
|
||||
public DataTable Get_Tabledata(string Tablename, bool StoredProc = false, bool is_SQL_String = false)
|
||||
{
|
||||
SqlConnection sqlconnect = new SqlConnection();
|
||||
DataSet ds = new DataSet();
|
||||
ds.Tables.Clear();
|
||||
sqlconnect.ConnectionString = this.connectionstring;
|
||||
sqlconnect.Open();
|
||||
SqlDataAdapter da = new SqlDataAdapter("", sqlconnect);
|
||||
SqlCommand sqlcmd = new SqlCommand();
|
||||
sqlcmd.Connection = sqlconnect;
|
||||
if (StoredProc == true)
|
||||
{
|
||||
sqlcmd.CommandType = CommandType.StoredProcedure;
|
||||
if (Tablename.IndexOf("@@Mandantnr@@") > 0)
|
||||
Tablename = Tablename.Replace("@@Mandantnr@@", "");
|
||||
sqlcmd.CommandText = Tablename;
|
||||
}
|
||||
else
|
||||
{
|
||||
sqlcmd.CommandType = CommandType.Text;
|
||||
sqlcmd.CommandText = "Select * from " + Tablename;
|
||||
}
|
||||
if (is_SQL_String == true)
|
||||
sqlcmd.CommandText = Tablename;
|
||||
da.SelectCommand = sqlcmd;
|
||||
da.Fill(dsdaten, "Daten");
|
||||
sqlconnect.Close();
|
||||
|
||||
return dsdaten.Tables[0];
|
||||
}
|
||||
|
||||
|
||||
public void Get_Tabeldata_for_Update(string Tablename, bool StoredProc = false, bool is_SQL_String = false)
|
||||
{
|
||||
dsdaten.Clear();
|
||||
dsdaten.Tables.Clear();
|
||||
dadaten = new SqlDataAdapter(Tablename, this.connectionstring);
|
||||
dadaten.Fill(dsdaten, Tablename);
|
||||
}
|
||||
public void Update_Tabeldata()
|
||||
{
|
||||
SqlCommandBuilder cb = new SqlCommandBuilder(dadaten);
|
||||
dadaten.Update(dsdaten, dsdaten.Tables[0].TableName);
|
||||
}
|
||||
|
||||
public Dictionary<string, List<object>> DatatableToDictionary(DataTable dataTable)
|
||||
{
|
||||
var dict = new Dictionary<string, List<object>>();
|
||||
foreach (DataColumn dataColumn in dataTable.Columns)
|
||||
{
|
||||
var columnValueList = new List<object>();
|
||||
|
||||
foreach (DataRow dataRow in dataTable.Rows)
|
||||
{
|
||||
columnValueList.Add(dataRow[dataColumn.ColumnName]);
|
||||
}
|
||||
|
||||
dict.Add(dataColumn.ColumnName, columnValueList);
|
||||
}
|
||||
return dict;
|
||||
}
|
||||
#region "Converters"
|
||||
|
||||
public List<T> ConvertDataTable<T>(DataTable dt)
|
||||
{
|
||||
List<T> data = new List<T>();
|
||||
|
||||
foreach (DataRow row in dt.Rows)
|
||||
{
|
||||
T item = GetItem<T>(row);
|
||||
data.Add(item);
|
||||
}
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
private T GetItem<T>(DataRow dr)
|
||||
{
|
||||
Type temp = typeof(T);
|
||||
T obj = Activator.CreateInstance<T>();
|
||||
|
||||
foreach (DataColumn column in dr.Table.Columns)
|
||||
{
|
||||
foreach (PropertyInfo pro in temp.GetProperties())
|
||||
{
|
||||
if (pro.Name == column.ColumnName)
|
||||
pro.SetValue(obj, dr[column.ColumnName], null/* TODO Change to default(_) if this is not a reference type */);
|
||||
else
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
return obj;
|
||||
}
|
||||
|
||||
public IEnumerable<T> GetEntities<T>(DataTable dt)
|
||||
{
|
||||
if (dt == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
List<T> returnValue = new List<T>();
|
||||
List<string> typeProperties = new List<string>();
|
||||
|
||||
T typeInstance = Activator.CreateInstance<T>();
|
||||
|
||||
foreach (DataColumn column in dt.Columns)
|
||||
{
|
||||
var prop = typeInstance.GetType().GetProperty(column.ColumnName, BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Public);
|
||||
if (prop != null)
|
||||
{
|
||||
typeProperties.Add(column.ColumnName);
|
||||
}
|
||||
}
|
||||
|
||||
foreach (DataRow row in dt.Rows)
|
||||
{
|
||||
T entity = Activator.CreateInstance<T>();
|
||||
|
||||
foreach (var propertyName in typeProperties)
|
||||
{
|
||||
|
||||
if (row[propertyName] != DBNull.Value)
|
||||
{
|
||||
string str = row[propertyName].GetType().FullName;
|
||||
|
||||
if (entity.GetType().GetProperty(propertyName).PropertyType == typeof(System.String))
|
||||
{
|
||||
object Val = row[propertyName].ToString();
|
||||
entity.GetType().GetProperty(propertyName, BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Public).SetValue(entity, Val, BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Public, null, null, null);
|
||||
}
|
||||
else if (entity.GetType().GetProperty(propertyName).PropertyType == typeof(System.Guid))
|
||||
{
|
||||
object Val = Guid.Parse(row[propertyName].ToString());
|
||||
entity.GetType().GetProperty(propertyName, BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Public).SetValue(entity, Val, BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Public, null, null, null);
|
||||
}
|
||||
else
|
||||
{
|
||||
entity.GetType().GetProperty(propertyName, BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Public).SetValue(entity, row[propertyName], BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Public, null, null, null);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
entity.GetType().GetProperty(propertyName, BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Public).SetValue(entity, null, BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Public, null, null, null);
|
||||
}
|
||||
}
|
||||
|
||||
returnValue.Add(entity);
|
||||
}
|
||||
|
||||
return returnValue.AsEnumerable();
|
||||
}
|
||||
public string DataTableToJSONWithStringBuilder(DataTable table)
|
||||
{
|
||||
var JSONString = new StringBuilder();
|
||||
if (table.Rows.Count > 0)
|
||||
{
|
||||
JSONString.Append("[");
|
||||
for (int i = 0; i < table.Rows.Count; i++)
|
||||
{
|
||||
JSONString.Append("{");
|
||||
for (int j = 0; j < table.Columns.Count; j++)
|
||||
{
|
||||
if (j < table.Columns.Count - 1)
|
||||
{
|
||||
JSONString.Append("\"" + table.Columns[j].ColumnName.ToString() + "\":" + "\"" + table.Rows[i][j].ToString() + "\",");
|
||||
}
|
||||
else if (j == table.Columns.Count - 1)
|
||||
{
|
||||
JSONString.Append("\"" + table.Columns[j].ColumnName.ToString() + "\":" + "\"" + table.Rows[i][j].ToString() + "\"");
|
||||
}
|
||||
}
|
||||
if (i == table.Rows.Count - 1)
|
||||
{
|
||||
JSONString.Append("}");
|
||||
}
|
||||
else
|
||||
{
|
||||
JSONString.Append("},");
|
||||
}
|
||||
}
|
||||
JSONString.Append("]");
|
||||
}
|
||||
return JSONString.ToString();
|
||||
}
|
||||
public string ConvertDataTableToString(DataTable table)
|
||||
{
|
||||
int iColumnCount = table.Columns.Count;
|
||||
int iRowCount = table.Rows.Count;
|
||||
int iTempRowCount = 0;
|
||||
string strColumName = table.Columns[0].ColumnName;
|
||||
string strOut = "{";
|
||||
foreach (DataRow row in table.Rows)
|
||||
{
|
||||
strOut = strOut + "{";
|
||||
foreach (DataColumn col in table.Columns)
|
||||
{
|
||||
string val = row.Field<string>(col.ColumnName);
|
||||
strOut = strOut + col.ColumnName + ":" + val;
|
||||
|
||||
if (col.Ordinal != iColumnCount - 1)
|
||||
{
|
||||
strOut = strOut + ",";
|
||||
}
|
||||
}
|
||||
strOut = strOut + "}";
|
||||
iTempRowCount++;
|
||||
|
||||
if (iTempRowCount != iRowCount)
|
||||
{
|
||||
strOut = strOut + ",";
|
||||
}
|
||||
}
|
||||
strOut = strOut + "}";
|
||||
return strOut;
|
||||
}
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
13
BlazorApp/Models/ViewAnsprechpartner.cs
Normal file
13
BlazorApp/Models/ViewAnsprechpartner.cs
Normal file
@@ -0,0 +1,13 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BlazorApp.Models
|
||||
{
|
||||
public class ViewAnsprechpartner
|
||||
{
|
||||
public int id { get; set; }
|
||||
public string namevorname { get; set; }
|
||||
}
|
||||
}
|
||||
166
BlazorApp/Pages/Admin/Anrede/Anrede.razor
Normal file
166
BlazorApp/Pages/Admin/Anrede/Anrede.razor
Normal file
@@ -0,0 +1,166 @@
|
||||
@page "/Admin/Anrede/AnredeList"
|
||||
@inject Blazored.SessionStorage.ISessionStorageService sessionStorage
|
||||
@inherits ListBase
|
||||
@using Syncfusion.Blazor.Grids;
|
||||
@using Syncfusion.Blazor.Buttons;
|
||||
@using Syncfusion.Blazor.Spinner;
|
||||
@using BlazorApp.Helper
|
||||
@using BWPMModels;
|
||||
|
||||
@using BlazorApp.Controller;
|
||||
|
||||
|
||||
<h1>Anrede</h1>
|
||||
|
||||
<div class="col-lg-12 control-section">
|
||||
<div class="content-wrapper">
|
||||
<div class="row">
|
||||
<SfGrid DataSource="@GridData" @ref="Grid" AllowPaging="true" AllowSorting="true" Toolbar="@(new List<string>() { "Add", "Edit", "Update", "Cancel" })">
|
||||
<GridPageSettings PageCount="5" PageSizes="true"></GridPageSettings>
|
||||
<GridEditSettings AllowAdding="true" AllowDeleting="false" AllowEditing="true" Mode="EditMode.Dialog"></GridEditSettings>
|
||||
<GridEvents OnActionBegin="OnBeginHandler" OnActionComplete="OnCompletedHandler" TValue="BWPMModels.Anrede" OnDataBound="RowDataBoundHandler"></GridEvents>
|
||||
<GridColumns>
|
||||
<GridColumn Type="ColumnType.CheckBox" AllowFiltering="false" AllowSorting="false" Width="60"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(BWPMModels.Anrede.ID) HeaderText="Id" IsPrimaryKey="true" AllowAdding="false" Width="60"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(BWPMModels.Anrede.bezeichnung) HeaderText="Bezeichnung" Width="100" Visible="true"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(BWPMModels.Anrede.erstellt_am) HeaderText="Erstellt_am" Width="100" Visible="true" Format="d" Type="ColumnType.Date"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(BWPMModels.Anrede.mutiert_am) HeaderText="Mutiert_am" Width="100" Visible="true" Format="d" Type="ColumnType.Date"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(BWPMModels.Anrede.mutierer) HeaderText="Mutierer" Width="100" Visible="true"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(BWPMModels.Anrede.aktiv) HeaderText="Aktiv" Width="100" Visible="true" DisplayAsCheckBox="true"></GridColumn>
|
||||
</GridColumns>
|
||||
</SfGrid>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@code{ SfGrid<BWPMModels.Anrede> Grid { get; set; }
|
||||
public List<BWPMModels.Anrede> GridData { get; set; }
|
||||
public List<BWPMModels.Anrede> Anredes { get; set; }
|
||||
string userid = "";
|
||||
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;
|
||||
|
||||
protected override void OnInitialized()
|
||||
{
|
||||
/// GridData = OrdersDetails.GetAllRecords();
|
||||
GridData = BlazorApp.Controller.AnredeController.GetAllData();
|
||||
}
|
||||
|
||||
protected override async Task OnAfterRenderAsync(bool firstRender)
|
||||
{
|
||||
|
||||
userid = await sessionStorage.GetItemAsync<string>("UserID");
|
||||
|
||||
if (userid == null)
|
||||
{
|
||||
var authState = await authenticationStateTask;
|
||||
var userId = authState.User.Claims.FirstOrDefault().Value;
|
||||
var user = authState.User;
|
||||
|
||||
if (user.Identity.IsAuthenticated)
|
||||
|
||||
{
|
||||
await sessionStorage.SetItemAsync("UserID", userId);
|
||||
}
|
||||
else
|
||||
{
|
||||
await sessionStorage.SetItemAsync("UserID", userId);
|
||||
}
|
||||
}
|
||||
}
|
||||
private async Task OnBeginHandler(ActionEventArgs<BWPMModels.Anrede> Args)
|
||||
|
||||
{
|
||||
if (Args.RequestType == Syncfusion.Blazor.Grids.Action.Save)
|
||||
{
|
||||
if (Args.Action == "Add")
|
||||
{
|
||||
|
||||
Args.Data.erstellt_am = DateTime.Now;
|
||||
Args.Data.mutierer = userid;
|
||||
Args.Data.mutiert_am = DateTime.Now;
|
||||
Args.Data.aktiv = true;
|
||||
Args.Data.ID = BlazorApp.Controller.AnredeController.POST(Args.Data);
|
||||
Value = Args.Data.ID;
|
||||
}
|
||||
else
|
||||
{
|
||||
Args.Data.mutierer = userid.ToString();
|
||||
Args.Data.mutiert_am = DateTime.Now;
|
||||
BlazorApp.Controller.AnredeController.PUT(Args.Data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public async Task OnCompletedHandler(ActionEventArgs<BWPMModels.Anrede> Args)
|
||||
|
||||
{
|
||||
if (Args.RequestType == Syncfusion.Blazor.Grids.Action.Save)
|
||||
{
|
||||
await Grid.SetRowData(Args.Data.ID, Args.Data);
|
||||
double xx = 0;
|
||||
Value = Args.Data.ID;
|
||||
xx = await DataHandler();
|
||||
await Grid.SelectRow(xx);
|
||||
|
||||
}
|
||||
}
|
||||
public async void RowDataBoundHandler(BeforeDataBoundArgs<BWPMModels.Anrede> args)
|
||||
{
|
||||
if (!Initial)
|
||||
{
|
||||
//await Task.Delay(100);
|
||||
//var Idx = await this.Grid.GetRowIndexByPrimaryKey(Convert.ToDouble(Value)); //get index value
|
||||
//this.Grid.SelectRow(Convert.ToDouble(Idx));
|
||||
}
|
||||
Initial = false;
|
||||
}
|
||||
|
||||
public async Task<double> DataHandler()
|
||||
{
|
||||
var PageCount = (GridData.Count / Grid.PageSettings.PageSize) + 1;
|
||||
ContinuePaging = true;
|
||||
var CurrentPage = 1;
|
||||
Grid.Refresh();
|
||||
await Grid.GoToPage(1);
|
||||
|
||||
for (int i = 1; i <= PageCount; i++)
|
||||
|
||||
{
|
||||
List < BWPMModels.Anrede> Rows = await Grid.GetCurrentViewRecords(); // returns the current view data
|
||||
for (int j = 0; j < Grid.PageSettings.PageSize; j++)
|
||||
{
|
||||
if (j < Rows.Count && Rows[j].ID == Value)
|
||||
{
|
||||
foundrow = j;
|
||||
|
||||
ContinuePaging = false; // prevent the default navigation
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (ContinuePaging)
|
||||
{
|
||||
if (i >= PageCount)
|
||||
{
|
||||
i = 0;
|
||||
}
|
||||
await Grid.GoToPage(i + 1);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
return foundrow;
|
||||
}
|
||||
}
|
||||
return foundrow;
|
||||
} }
|
||||
@@ -127,7 +127,7 @@
|
||||
BWPMModels.AspNetUsers usr = new BWPMModels.AspNetUsers();
|
||||
usr.Id = Gridid;
|
||||
usr.PasswordHash = password;
|
||||
BlazorApp.Controller.AspNetUserRolleController.savepassword(usr);
|
||||
BlazorApp.Controller.AspNetUserRolleController.PUTPassword(usr);
|
||||
|
||||
this.IsVisible = false;
|
||||
}
|
||||
@@ -213,7 +213,7 @@
|
||||
AspNetUserRoles rolle = new AspNetUserRoles();
|
||||
rolle.RoleId = Args.Data.RoleId;
|
||||
rolle.UserId = Args.Data.Id;
|
||||
BlazorApp.Controller.AspNetUserRolesController.savedata(rolle);
|
||||
BlazorApp.Controller.AspNetUserRolesController.PUT(rolle);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -106,7 +106,7 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
BlazorApp.Controller.AspNetUsersController.savedata(Args.Data);
|
||||
BlazorApp.Controller.AspNetUsersController.PUT(Args.Data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -109,12 +109,10 @@
|
||||
{
|
||||
if (Args.Action == "Add")
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
BlazorApp.Controller.AspNetRolesController.savedata(Args.Data);
|
||||
BlazorApp.Controller.AspNetRolesController.POST(Args.Data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,8 +28,7 @@
|
||||
<GridEditSettings AllowAdding="true" AllowDeleting="false" AllowEditing="true" Mode="EditMode.Dialog"></GridEditSettings>
|
||||
<GridEvents OnActionBegin="OnBeginHandler" OnActionComplete="OnCompletedHandler" TValue="Beruf" OnDataBound="RowDataBoundHandler"></GridEvents>
|
||||
<GridColumns>
|
||||
0
|
||||
|
||||
|
||||
<GridColumn Field=@nameof(Beruf.ID) HeaderText="Id" IsPrimaryKey="true" AllowAdding="false" Width="60"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(Beruf.bezeichnung) HeaderText="Bezeichnung" Width="100" Visible="true"></GridColumn>
|
||||
@@ -111,14 +110,14 @@
|
||||
Args.Data.mutierer = userid;
|
||||
Args.Data.mutiert_am = DateTime.Now;
|
||||
Args.Data.aktiv = true;
|
||||
Args.Data.ID = BlazorApp.Controller.BerufController.InsertData(Args.Data);
|
||||
Args.Data.ID = BlazorApp.Controller.BerufController.POST(Args.Data);
|
||||
Value = Args.Data.ID;
|
||||
}
|
||||
else
|
||||
{
|
||||
Args.Data.mutierer = userid.ToString();
|
||||
Args.Data.mutiert_am = DateTime.Now;
|
||||
BlazorApp.Controller.BerufController.savedata(Args.Data);
|
||||
BlazorApp.Controller.BerufController.PUT(Args.Data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
168
BlazorApp/Pages/Admin/KlassenTyp/KlassentypList.razor
Normal file
168
BlazorApp/Pages/Admin/KlassenTyp/KlassentypList.razor
Normal file
@@ -0,0 +1,168 @@
|
||||
@page "/Admin/Klassentyp/KlassentypList"
|
||||
@inject Blazored.SessionStorage.ISessionStorageService sessionStorage
|
||||
@inherits ListBase
|
||||
@using Syncfusion.Blazor.Grids;
|
||||
@using Syncfusion.Blazor.Buttons;
|
||||
@using Syncfusion.Blazor.Spinner;
|
||||
@using BlazorApp.Helper
|
||||
@using BWPMModels;
|
||||
|
||||
@using BlazorApp.Controller;
|
||||
|
||||
|
||||
<h1>Klassentyp</h1>
|
||||
|
||||
<div class="col-lg-12 control-section">
|
||||
<div class="content-wrapper">
|
||||
<div class="row">
|
||||
<SfGrid DataSource="@GridData" @ref="Grid" AllowPaging="true" AllowSorting="true" Toolbar="@(new List<string>() { "Add", "Edit", "Update", "Cancel" })">
|
||||
<GridPageSettings PageCount="5" PageSizes="true"></GridPageSettings>
|
||||
<GridEditSettings AllowAdding="true" AllowDeleting="false" AllowEditing="true" Mode="EditMode.Dialog"></GridEditSettings>
|
||||
<GridEvents OnActionBegin="OnBeginHandler" OnActionComplete="OnCompletedHandler" TValue="Klassentyp" OnDataBound="RowDataBoundHandler"></GridEvents>
|
||||
<GridColumns>
|
||||
<GridColumn Type="ColumnType.CheckBox" AllowFiltering="false" AllowSorting="false" Width="60"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(Klassentyp.ID) HeaderText="Id" IsPrimaryKey="true" AllowAdding="false" Width="60"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(Klassentyp.bezeichnung) HeaderText="Bezeichnung" Width="100" Visible="true"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(Klassentyp.aktiv) HeaderText="Aktiv" Width="100" Visible="true" DisplayAsCheckBox="true"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(Klassentyp.erstellt_am) HeaderText="Erstellt_am" Width="100" Visible="true" Format="d" Type="ColumnType.Date"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(Klassentyp.mutiert_am) HeaderText="Mutiert_am" Width="100" Visible="true" Format="d" Type="ColumnType.Date"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(Klassentyp.mutierer) HeaderText="Mutierer" Width="100" Visible="true"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(Klassentyp.mandantID) HeaderText="Mandantid" Width="100" Visible="true"></GridColumn>
|
||||
</GridColumns>
|
||||
</SfGrid>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@code{ SfGrid<Klassentyp> Grid { get; set; }
|
||||
public List<BWPMModels.Klassentyp> GridData { get; set; }
|
||||
public List<BWPMModels.Klassentyp> Klassentyps { get; set; }
|
||||
string userid = "";
|
||||
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;
|
||||
|
||||
protected override void OnInitialized()
|
||||
{
|
||||
/// GridData = OrdersDetails.GetAllRecords();
|
||||
GridData = BlazorApp.Controller.KlassentypController.GetAllData();
|
||||
}
|
||||
|
||||
protected override async Task OnAfterRenderAsync(bool firstRender)
|
||||
{
|
||||
|
||||
userid = await sessionStorage.GetItemAsync<string>("UserID");
|
||||
|
||||
if (userid == null)
|
||||
{
|
||||
var authState = await authenticationStateTask;
|
||||
var userId = authState.User.Claims.FirstOrDefault().Value;
|
||||
var user = authState.User;
|
||||
|
||||
if (user.Identity.IsAuthenticated)
|
||||
|
||||
{
|
||||
await sessionStorage.SetItemAsync("UserID", userId);
|
||||
}
|
||||
else
|
||||
{
|
||||
await sessionStorage.SetItemAsync("UserID", userId);
|
||||
}
|
||||
}
|
||||
}
|
||||
private async Task OnBeginHandler(ActionEventArgs<BWPMModels.Klassentyp> Args)
|
||||
|
||||
{
|
||||
if (Args.RequestType == Syncfusion.Blazor.Grids.Action.Save)
|
||||
{
|
||||
if (Args.Action == "Add")
|
||||
{
|
||||
|
||||
Args.Data.erstellt_am = DateTime.Now;
|
||||
Args.Data.mutierer = userid;
|
||||
Args.Data.mutiert_am = DateTime.Now;
|
||||
Args.Data.aktiv = true;
|
||||
Args.Data.ID = BlazorApp.Controller.KlassentypController.POST(Args.Data);
|
||||
Value = Args.Data.ID;
|
||||
}
|
||||
else
|
||||
{
|
||||
Args.Data.mutierer = userid.ToString();
|
||||
Args.Data.mutiert_am = DateTime.Now;
|
||||
BlazorApp.Controller.KlassentypController.PUT(Args.Data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public async Task OnCompletedHandler(ActionEventArgs<BWPMModels.Klassentyp> Args)
|
||||
|
||||
{
|
||||
if (Args.RequestType == Syncfusion.Blazor.Grids.Action.Save)
|
||||
{
|
||||
await Grid.SetRowData(Args.Data.ID, Args.Data);
|
||||
double xx = 0;
|
||||
Value = Args.Data.ID;
|
||||
xx = await DataHandler();
|
||||
await Grid.SelectRow(xx);
|
||||
|
||||
}
|
||||
}
|
||||
public async void RowDataBoundHandler(BeforeDataBoundArgs<BWPMModels.Klassentyp> args)
|
||||
{
|
||||
if (!Initial)
|
||||
{
|
||||
//await Task.Delay(100);
|
||||
//var Idx = await this.Grid.GetRowIndexByPrimaryKey(Convert.ToDouble(Value)); //get index value
|
||||
//this.Grid.SelectRow(Convert.ToDouble(Idx));
|
||||
}
|
||||
Initial = false;
|
||||
}
|
||||
|
||||
public async Task<double> DataHandler()
|
||||
{
|
||||
var PageCount = (GridData.Count / Grid.PageSettings.PageSize) + 1;
|
||||
ContinuePaging = true;
|
||||
var CurrentPage = 1;
|
||||
Grid.Refresh();
|
||||
await Grid.GoToPage(1);
|
||||
|
||||
for (int i = 1; i <= PageCount; i++)
|
||||
|
||||
{
|
||||
List<Klassentyp> Rows = await Grid.GetCurrentViewRecords(); // returns the current view data
|
||||
for (int j = 0; j < Grid.PageSettings.PageSize; j++)
|
||||
{
|
||||
if (j < Rows.Count && Rows[j].ID == Value)
|
||||
{
|
||||
foundrow = j;
|
||||
|
||||
ContinuePaging = false; // prevent the default navigation
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (ContinuePaging)
|
||||
{
|
||||
if (i >= PageCount)
|
||||
{
|
||||
i = 0;
|
||||
}
|
||||
await Grid.GoToPage(i + 1);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
return foundrow;
|
||||
}
|
||||
}
|
||||
return foundrow;
|
||||
} }
|
||||
@@ -23,12 +23,12 @@ namespace BlazorApp.Pages.Admin
|
||||
|
||||
var authenticationState = await authenticationStateTask;
|
||||
|
||||
if (!authenticationState.User.Identity.IsAuthenticated)
|
||||
{
|
||||
NavigationManager.NavigateTo($"/identity/account/login");
|
||||
// string returnUrl = WebUtility.UrlEncode($"/");
|
||||
// NavigationManager.NavigateTo(WebUtility.UrlEncode("/identity/Account/Login"));
|
||||
}
|
||||
//if (!authenticationState.User.Identity.IsAuthenticated)
|
||||
//{
|
||||
// NavigationManager.NavigateTo($"/identity/account/login");
|
||||
// // string returnUrl = WebUtility.UrlEncode($"/");
|
||||
// // NavigationManager.NavigateTo(WebUtility.UrlEncode("/identity/Account/Login"));
|
||||
//}
|
||||
|
||||
}
|
||||
|
||||
|
||||
170
BlazorApp/Pages/Admin/Optionen/OptionenList.razor
Normal file
170
BlazorApp/Pages/Admin/Optionen/OptionenList.razor
Normal file
@@ -0,0 +1,170 @@
|
||||
@page "/Admin/Optionen/OptionenList"
|
||||
@inject Blazored.SessionStorage.ISessionStorageService sessionStorage
|
||||
@inherits ListBase
|
||||
@using Syncfusion.Blazor.Grids;
|
||||
@using Syncfusion.Blazor.Buttons;
|
||||
@using Syncfusion.Blazor.Spinner;
|
||||
@using BlazorApp.Helper
|
||||
@using BWPMModels;
|
||||
|
||||
@using BlazorApp.Controller;
|
||||
|
||||
|
||||
<h1>Optionen</h1>
|
||||
|
||||
<div class="col-lg-12 control-section">
|
||||
<div class="content-wrapper">
|
||||
<div class="row">
|
||||
<SfGrid DataSource="@GridData" @ref="Grid" AllowPaging="true" AllowSorting="true" Toolbar="@(new List<string>() { "Add", "Edit", "Update", "Cancel" })">
|
||||
<GridPageSettings PageCount="5" PageSizes="true"></GridPageSettings>
|
||||
<GridEditSettings AllowAdding="true" AllowDeleting="false" AllowEditing="true" Mode="EditMode.Dialog"></GridEditSettings>
|
||||
<GridEvents OnActionBegin="OnBeginHandler" OnActionComplete="OnCompletedHandler" TValue="Optionen" OnDataBound="RowDataBoundHandler"></GridEvents>
|
||||
<GridColumns>
|
||||
<GridColumn Type="ColumnType.CheckBox" AllowFiltering="false" AllowSorting="false" Width="60"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(Optionen.ID) HeaderText="Id" IsPrimaryKey="true" AllowAdding="false" Width="60"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(Optionen.mandantnr) HeaderText="Mandantnr" Width="100" Visible="false"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(Optionen.Bezeichnung) HeaderText="Bezeichnung" Width="100" Visible="true"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(Optionen.inhalt) HeaderText="Inhalt" Width="200" Visible="true"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(Optionen.erstellt_am) HeaderText="Erstellt_am" Width="400" Visible="false" Format="d" Type="ColumnType.Date"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(Optionen.mutiert_am) HeaderText="Mutiert_am" Width="100" Visible="false" Format="d" Type="ColumnType.Date"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(Optionen.mutierer) HeaderText="Mutierer" Width="100" Visible="false"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(Optionen.aktiv) HeaderText="Aktiv" Width="100" Visible="false" DisplayAsCheckBox="true"></GridColumn>
|
||||
</GridColumns>
|
||||
</SfGrid>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@code{ SfGrid<Optionen> Grid { get; set; }
|
||||
public List<BWPMModels.Optionen> GridData { get; set; }
|
||||
public List<BWPMModels.Optionen> Optionens { get; set; }
|
||||
string userid = "";
|
||||
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;
|
||||
|
||||
protected override void OnInitialized()
|
||||
{
|
||||
/// GridData = OrdersDetails.GetAllRecords();
|
||||
GridData = BlazorApp.Controller.OptionenController.GetAllData();
|
||||
}
|
||||
|
||||
protected override async Task OnAfterRenderAsync(bool firstRender)
|
||||
{
|
||||
|
||||
userid = await sessionStorage.GetItemAsync<string>("UserID");
|
||||
|
||||
if (userid == null)
|
||||
{
|
||||
var authState = await authenticationStateTask;
|
||||
var userId = authState.User.Claims.FirstOrDefault().Value;
|
||||
var user = authState.User;
|
||||
|
||||
if (user.Identity.IsAuthenticated)
|
||||
|
||||
{
|
||||
await sessionStorage.SetItemAsync("UserID", userId);
|
||||
}
|
||||
else
|
||||
{
|
||||
await sessionStorage.SetItemAsync("UserID", userId);
|
||||
}
|
||||
}
|
||||
}
|
||||
private async Task OnBeginHandler(ActionEventArgs<BWPMModels.Optionen> Args)
|
||||
|
||||
{
|
||||
if (Args.RequestType == Syncfusion.Blazor.Grids.Action.Save)
|
||||
{
|
||||
if (Args.Action == "Add")
|
||||
{
|
||||
|
||||
Args.Data.erstellt_am = DateTime.Now;
|
||||
Args.Data.mutierer = userid;
|
||||
Args.Data.mutiert_am = DateTime.Now;
|
||||
Args.Data.aktiv = true;
|
||||
Args.Data.ID = BlazorApp.Controller.OptionenController.POST(Args.Data);
|
||||
Value = Args.Data.ID;
|
||||
}
|
||||
else
|
||||
{
|
||||
Args.Data.mutierer = userid.ToString();
|
||||
Args.Data.mutiert_am = DateTime.Now;
|
||||
BlazorApp.Controller.OptionenController.PUT(Args.Data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public async Task OnCompletedHandler(ActionEventArgs<BWPMModels.Optionen> Args)
|
||||
|
||||
{
|
||||
if (Args.RequestType == Syncfusion.Blazor.Grids.Action.Save)
|
||||
{
|
||||
await Grid.SetRowData(Args.Data.ID, Args.Data);
|
||||
double xx = 0;
|
||||
Value = Args.Data.ID;
|
||||
xx = await DataHandler();
|
||||
await Grid.SelectRow(xx);
|
||||
|
||||
}
|
||||
}
|
||||
public async void RowDataBoundHandler(BeforeDataBoundArgs<BWPMModels.Optionen> args)
|
||||
{
|
||||
if (!Initial)
|
||||
{
|
||||
//await Task.Delay(100);
|
||||
//var Idx = await this.Grid.GetRowIndexByPrimaryKey(Convert.ToDouble(Value)); //get index value
|
||||
//this.Grid.SelectRow(Convert.ToDouble(Idx));
|
||||
}
|
||||
Initial = false;
|
||||
}
|
||||
|
||||
public async Task<double> DataHandler()
|
||||
{
|
||||
var PageCount = (GridData.Count / Grid.PageSettings.PageSize) + 1;
|
||||
ContinuePaging = true;
|
||||
var CurrentPage = 1;
|
||||
Grid.Refresh();
|
||||
await Grid.GoToPage(1);
|
||||
|
||||
for (int i = 1; i <= PageCount; i++)
|
||||
|
||||
{
|
||||
List<Optionen> Rows = await Grid.GetCurrentViewRecords(); // returns the current view data
|
||||
for (int j = 0; j < Grid.PageSettings.PageSize; j++)
|
||||
{
|
||||
if (j < Rows.Count && Rows[j].ID == Value)
|
||||
{
|
||||
foundrow = j;
|
||||
|
||||
ContinuePaging = false; // prevent the default navigation
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (ContinuePaging)
|
||||
{
|
||||
if (i >= PageCount)
|
||||
{
|
||||
i = 0;
|
||||
}
|
||||
await Grid.GoToPage(i + 1);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
return foundrow;
|
||||
}
|
||||
}
|
||||
return foundrow;
|
||||
} }
|
||||
@@ -102,14 +102,14 @@
|
||||
Args.Data.mutierer = userid;
|
||||
Args.Data.mutiert_am = DateTime.Now;
|
||||
Args.Data.aktiv = true;
|
||||
Args.Data.ID = BlazorApp.Controller.SchulhausController.InsertData(Args.Data);
|
||||
Args.Data.ID = BlazorApp.Controller.SchulhausController.POST(Args.Data);
|
||||
Value = Args.Data.ID;
|
||||
}
|
||||
else
|
||||
{
|
||||
Args.Data.mutierer = userid.ToString();
|
||||
Args.Data.mutiert_am = DateTime.Now;
|
||||
BlazorApp.Controller.SchulhausController.savedata(Args.Data);
|
||||
BlazorApp.Controller.SchulhausController.PUT(Args.Data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
111
BlazorApp/Pages/Admin/ScriptGenerator.razor
Normal file
111
BlazorApp/Pages/Admin/ScriptGenerator.razor
Normal file
@@ -0,0 +1,111 @@
|
||||
@page "/Admin/ScriptGenerator"
|
||||
@inject Blazored.SessionStorage.ISessionStorageService sessionStorage
|
||||
@inherits ListBase
|
||||
@using System.Text;
|
||||
@using Syncfusion.Blazor.Grids;
|
||||
@using Syncfusion.Blazor.Buttons;
|
||||
@using Syncfusion.Blazor.Navigations
|
||||
@using System.Text.RegularExpressions;
|
||||
@using Newtonsoft.Json;
|
||||
|
||||
@using Syncfusion.Blazor.Spinner;
|
||||
@using BlazorApp.Helper
|
||||
@using BWPMModels;
|
||||
|
||||
@using BlazorApp.Controller;
|
||||
|
||||
|
||||
<h2>Script-Generator</h2>
|
||||
<div class="col-lg-12 control-section">
|
||||
<div class="content-wrapper">
|
||||
|
||||
<input type="text" @bind-value="tablename" id="tablename" name="Required" class="e-input">
|
||||
<SfButton OnClick="GenerateCode">Generieren</SfButton>
|
||||
<p></p>
|
||||
<div class="sample-browser e-view sf-new">
|
||||
<div class="sb-tab-content">
|
||||
<div class="sb-source-section">
|
||||
<SfTab CssClass="sb-content-tab">
|
||||
|
||||
<TabItems>
|
||||
<TabItem CssClass="e-tab">
|
||||
<HeaderTemplate>Model-Class</HeaderTemplate>
|
||||
<ContentTemplate>
|
||||
<div class="login-form">
|
||||
<div class='wrap'>
|
||||
<pre class="code">
|
||||
@Code1
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</TabItem>
|
||||
<TabItem>
|
||||
<HeaderTemplate>WebAPI Service-Controller</HeaderTemplate>
|
||||
<ContentTemplate>
|
||||
<div class="login-form">
|
||||
<div class='wrap'>
|
||||
<pre class="code">
|
||||
@Code2
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</TabItem>
|
||||
<TabItem>
|
||||
<HeaderTemplate>Razor-Page</HeaderTemplate>
|
||||
<ContentTemplate>
|
||||
<div class="login-form">
|
||||
<div class='wrap'>
|
||||
<pre class="code">
|
||||
@Code3
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</TabItem>
|
||||
<TabItem>
|
||||
<HeaderTemplate>Razor App-Controller</HeaderTemplate>
|
||||
<ContentTemplate>
|
||||
<div class="login-form">
|
||||
<div class='wrap'>
|
||||
<pre class="code">
|
||||
@Code4
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</TabItem>
|
||||
|
||||
</TabItems>
|
||||
</SfTab>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@code {
|
||||
private List<TabItem> sourceCodeItems;
|
||||
public string tablename { get; set; } = "beruf";
|
||||
public string Code1 { get; set; } = "";
|
||||
public string Code2 { get; set; } = "";
|
||||
public string Code3 { get; set; } = "";
|
||||
public string Code4 { get; set; } = "";
|
||||
|
||||
public void GenerateCode()
|
||||
{
|
||||
|
||||
var clist1 = BlazorApp.Controller.MyScriptController.GetData(1, tablename);
|
||||
Code1 = clist1[0].script;
|
||||
var clist2 = BlazorApp.Controller.MyScriptController.GetData(4, tablename);
|
||||
Code2 = clist2[0].script;
|
||||
var clist3 = BlazorApp.Controller.MyScriptController.GetData(7, tablename);
|
||||
Code3 = clist3[0].script;
|
||||
var clist4 = BlazorApp.Controller.MyScriptController.GetData(8, tablename);
|
||||
Code4 = clist4[0].script;
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
@page "/Admin/User/UserList"
|
||||
@inherits UserListBase
|
||||
@inject Blazored.SessionStorage.ISessionStorageService sessionStorage
|
||||
|
||||
@using Syncfusion.Blazor.Grids;
|
||||
@using Syncfusion.Blazor.Spinner;
|
||||
@using BlazorApp.Helper
|
||||
@@ -98,6 +99,7 @@
|
||||
protected override async Task OnAfterRenderAsync(bool firstRender)
|
||||
{
|
||||
string userid = "";
|
||||
|
||||
userid = await sessionStorage.GetItemAsync<string>("UserID");
|
||||
|
||||
if (userid == null)
|
||||
@@ -110,10 +112,11 @@
|
||||
|
||||
{
|
||||
await sessionStorage.SetItemAsync("UserID", userId);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
await sessionStorage.SetItemAsync("UserID", userId);
|
||||
await sessionStorage.SetItemAsync("UserID", "");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -98,14 +98,14 @@
|
||||
Args.Data.mutierer = userid;
|
||||
Args.Data.mutiert_am = DateTime.Now;
|
||||
Args.Data.aktiv = true;
|
||||
Args.Data.ID = BlazorApp.Controller.ZeitenController.InsertData(Args.Data);
|
||||
Args.Data.ID = BlazorApp.Controller.ZeitenController.POST(Args.Data);
|
||||
Value = Args.Data.ID;
|
||||
}
|
||||
else
|
||||
{
|
||||
Args.Data.mutierer = userid.ToString();
|
||||
Args.Data.mutiert_am = DateTime.Now;
|
||||
BlazorApp.Controller.ZeitenController.savedata(Args.Data);
|
||||
BlazorApp.Controller.ZeitenController.PUT(Args.Data);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -120,7 +120,7 @@
|
||||
foreach (Zeiten row in Rows)
|
||||
{
|
||||
row.reihenfolge = order;
|
||||
BlazorApp.Controller.ZeitenController.savedata(row);
|
||||
BlazorApp.Controller.ZeitenController.PUT(row);
|
||||
order = order + 1;
|
||||
Grid.Refresh();
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<div class="row">
|
||||
<div class="col-xl-6">
|
||||
<h4>Button with text</h4>
|
||||
<RadzenButton Click=@(args => OnClick("Button with text")) Text="Button" Style="margin-bottom: 20px; width: 150px" />
|
||||
<RadzenButton Click=@(args => OnClick("Button with text")) Text="Buttonx" Style="margin-bottom: 20px; width: 150px" />
|
||||
</div>
|
||||
<div class="col-xl-6">
|
||||
<h4>Button with text and icon</h4>
|
||||
|
||||
426
BlazorApp/Pages/Company/Berufsangebot.razor
Normal file
426
BlazorApp/Pages/Company/Berufsangebot.razor
Normal file
@@ -0,0 +1,426 @@
|
||||
@page "/Company/Berufsangebot"
|
||||
@inject Blazored.SessionStorage.ISessionStorageService sessionStorage
|
||||
@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 Syncfusion.Blazor.DropDowns
|
||||
@using Syncfusion.Blazor.Lists
|
||||
@using Syncfusion.Blazor.Inputs;
|
||||
@using BlazorApp.Helper
|
||||
@using BWPMModels;
|
||||
|
||||
<h3>Berufsangebot</h3> (Bitte erfassen Sie Ihr Berufsangebot)
|
||||
<hr />
|
||||
<p></p>
|
||||
<div class="control-section e-tab-section">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm">
|
||||
<h4>Berufe</h4>
|
||||
<SfListBox @bind-Value=@BerufID TValue="string[]" DataSource="@berufe" @ref="Berufsliste" TItem="Beruf" Height="200px">
|
||||
<ListBoxSelectionSettings Mode="Syncfusion.Blazor.DropDowns.SelectionMode.Single" ShowCheckbox="false"></ListBoxSelectionSettings>
|
||||
<ListBoxFieldSettings Text="bezeichnung" Value="id" />
|
||||
</SfListBox>
|
||||
</div>
|
||||
<div class="col-sm">
|
||||
<h4>Ansprechperson</h4>
|
||||
|
||||
<SfListBox @bind-Value=@AnsprechpartnerID TValue="string[]" DataSource="@lap" TItem="AP" Height="200px">
|
||||
<ListBoxFieldSettings Text="name" Value="ID" />
|
||||
</SfListBox>
|
||||
|
||||
</div>
|
||||
<div class="col-sm">
|
||||
<h4>Zeiten</h4>
|
||||
<SfListBox @bind-Value=@ZeitID TValue="string[]" DataSource="@zeiten" TItem="Zeit" Height="200px">
|
||||
<ListBoxSelectionSettings Mode="Syncfusion.Blazor.DropDowns.SelectionMode.Single" ShowCheckbox="false"></ListBoxSelectionSettings>
|
||||
<ListBoxFieldSettings Text="bezeichnung" Value="id" />
|
||||
</SfListBox>
|
||||
</div>
|
||||
<div class="col-sm">
|
||||
<h4>Plätze</h4>
|
||||
<label>Max. Anzahl Plätze</label>
|
||||
<SfDropDownList @bind-Value=@PlatzID TValue="string" TItem="Plaetze" Placeholder="Max. Anzahl Plätze" DataSource="@plaetze">
|
||||
<DropDownListFieldSettings Value="id" Text="text"></DropDownListFieldSettings>
|
||||
</SfDropDownList>
|
||||
<label>Klassentyp</label>
|
||||
<SfDropDownList @bind-Value=@KlassenTypID TValue="string" TItem="Klassentyp" Placeholder="Klassentyp" DataSource="@klassentyp">
|
||||
<DropDownListFieldSettings Value="ID" Text="bezeichnung"></DropDownListFieldSettings>
|
||||
</SfDropDownList>
|
||||
<p></p>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<hr />
|
||||
<p></p>
|
||||
|
||||
</div>
|
||||
<div class="control-section e-tab-section">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm">
|
||||
<h4>Bemerkung</h4>
|
||||
<SfTextBox Multiline=true Placeholder="Allgemeine Bemerkung" @bind-Value="@bemerkung"> </SfTextBox>
|
||||
</div>
|
||||
<div class="col-sm">
|
||||
<h4>Hinweis für den Schüler</h4>
|
||||
<SfTextBox Multiline=true Placeholder="Hinweise für Schüler" @bind-Value="@schuelerbemerkung"> </SfTextBox>
|
||||
</div>
|
||||
<div class="col-sm">
|
||||
<h4>Hinweis zum Standortler</h4>
|
||||
<SfTextBox Multiline=true Placeholder="Hinweise bezüglich Standort" @bind-Value="@standortbemerkung"> </SfTextBox>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<p></p>
|
||||
<div class="control-section e-tab-section">
|
||||
<div class="content-wrapper">
|
||||
<div class="row">
|
||||
<SfButton @onclick="einfuegen" CssClass="e-flat" IsPrimary="true">Einfügen</SfButton>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr />
|
||||
<h3>Ihr Angebot</h3>
|
||||
<div class="col-lg-12 control-section">
|
||||
|
||||
<div class="content-wrapper">
|
||||
<div class="row">
|
||||
<SfGrid DataSource="@GridData" @ref="Grid" AllowPaging="true" AllowSorting="true" Toolbar="@(new List<string>() { "Edit", "Delete" })">
|
||||
<GridPageSettings PageCount="5" PageSizes="true"></GridPageSettings>
|
||||
<GridEditSettings AllowAdding="true" AllowDeleting="true" AllowEditing="true" Mode="EditMode.Dialog"></GridEditSettings>
|
||||
<GridEvents OnActionBegin="OnBeginHandler" OnActionComplete="OnCompletedHandler" TValue="BWPMModels.Firmaberuf" OnDataBound="RowDataBoundHandler"></GridEvents>
|
||||
<GridSelectionSettings Type="Syncfusion.Blazor.Grids.SelectionType.Single"></GridSelectionSettings>
|
||||
<GridColumns>
|
||||
<GridColumn Type="ColumnType.CheckBox" AllowFiltering="false" AllowSorting="false" Width="60"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(Firmaberuf.ID) HeaderText="Id" IsPrimaryKey="true" AllowAdding="false" Visible="false" Width="60"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(Firmaberuf.firmaID) HeaderText="Firmaid" Width="100" Visible="false"></GridColumn>
|
||||
|
||||
@* <GridColumn Field=@nameof(Firmaberuf.berufID) HeaderText="Berufid" Width="100" Visible="true"></GridColumn>*@
|
||||
<GridForeignColumn Field=@nameof(Firmaberuf.berufID) HeaderText="Beruf" ForeignKeyField="id" ForeignKeyValue="bezeichnung" ForeignDataSource="@berufe" Width="150"></GridForeignColumn>
|
||||
|
||||
@* <GridColumn Field=@nameof(Firmaberuf.ansprechpartnerID) HeaderText="Ansprechpartnerid" Width="100" Visible="true"></GridColumn>*@
|
||||
<GridForeignColumn Field=@nameof(Firmaberuf.ansprechpartnerID) HeaderText="Ansprechpartner" ForeignKeyField="ID" ForeignKeyValue="name" ForeignDataSource="@lap" Width="150"></GridForeignColumn>
|
||||
|
||||
@* <GridColumn Field=@nameof(Firmaberuf.zeitID) HeaderText="Zeitid" Width="100" Visible="true"></GridColumn>*@
|
||||
<GridForeignColumn Field=@nameof(Firmaberuf.zeitID) HeaderText="Zeit" ForeignKeyField="id" ForeignKeyValue="bezeichnung" ForeignDataSource="@zeiten" Width="150"></GridForeignColumn>
|
||||
|
||||
@* <GridColumn Field=@nameof(Firmaberuf.klassetypID) HeaderText="Klassetypid" Width="100" Visible="true"></GridColumn>*@
|
||||
<GridForeignColumn Field=@nameof(Firmaberuf.klassetypID) HeaderText="Klassentyp" ForeignKeyField="ID" ForeignKeyValue="bezeichnung" ForeignDataSource="@klassentyp" Width="150"></GridForeignColumn>
|
||||
|
||||
<GridColumn Field=@nameof(Firmaberuf.anzahl) HeaderText="Anzahl" Width="100" Visible="true"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(Firmaberuf.bemerkung) HeaderText="Bemerkung" Width="100" Visible="true"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(Firmaberuf.schuelerbemerkung) HeaderText="Schuelerbemerkung" Width="100" Visible="true"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(Firmaberuf.standortbemerkung) HeaderText="Standortbemerkung" Width="100" Visible="true"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(Firmaberuf.minzuteilung) HeaderText="Minzuteilung" Width="100" Visible="false"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(Firmaberuf.aktiv) HeaderText="Aktiv" Width="100" Visible="false" DisplayAsCheckBox="true"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(Firmaberuf.erstellt_am) HeaderText="Erstellt_am" Width="100" Visible="false" Format="d" Type="ColumnType.Date"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(Firmaberuf.mutiert_am) HeaderText="Mutiert_am" Width="100" Visible="false" Format="d" Type="ColumnType.Date"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(Firmaberuf.mutierer) HeaderText="Mutierer" Width="100" Visible="false"></GridColumn>
|
||||
</GridColumns>
|
||||
</SfGrid>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<SfTextBox Value="@fid"></SfTextBox>
|
||||
|
||||
<SfDialog Width="350px" IsModal="true" @bind-Visible="@ShowDialog">
|
||||
<DialogTemplates>
|
||||
<Header> Angaben sind unvollständig </Header>
|
||||
<Content>@((MarkupString)this.message)</Content>
|
||||
|
||||
</DialogTemplates>
|
||||
<DialogButtons>
|
||||
<DialogButton Content="OK" IsPrimary="true" OnClick="@CloseDialog" />
|
||||
</DialogButtons>
|
||||
</SfDialog>
|
||||
@code {
|
||||
public string fid { get; set; } = "";
|
||||
public string[] BerufID;
|
||||
public string[] AnsprechpartnerID;
|
||||
public string[] ZeitID;
|
||||
public string PlatzID = "1";
|
||||
public string KlassenTypID = "1";
|
||||
public string bemerkung { get; set; } = "";
|
||||
public string schuelerbemerkung { get; set; } = "";
|
||||
public string standortbemerkung { get; set; } = "";
|
||||
public bool ShowDialog = false;
|
||||
string message = "";
|
||||
SfListBox<string[], Beruf> Berufsliste { get; set; }
|
||||
SfGrid<BWPMModels.Firmaberuf> Grid { get; set; }
|
||||
string userid = "";
|
||||
static string firmaid = "";
|
||||
|
||||
public List<Beruf> berufe = new List<Beruf>();
|
||||
public List<BWPMModels.Beruf> _berufe { get; set; } = BlazorApp.Controller.BerufController.GetAllAktiveData();
|
||||
public List<Zeit> zeiten = new List<Zeit>();
|
||||
|
||||
public List<BWPMModels.Zeiten> _zeiten { get; set; } = BlazorApp.Controller.ZeitenController.GetAllAktiveData();
|
||||
public List<BWPMModels.Ansprechpartner> ansprechpartner { get; set; }
|
||||
public List<BWPMModels.Klassentyp> klassentyp { get; set; } = BlazorApp.Controller.KlassentypController.GetAllAktiveData();
|
||||
public List<BWPMModels.Firma> Firmendaten { get; set; }
|
||||
public List<AP> lap = new List<AP>();
|
||||
public List<Plaetze> plaetze = new List<Plaetze>();
|
||||
public List<BWPMModels.Firmaberuf> GridData { get; set; }
|
||||
|
||||
public bool ContinuePaging = true;
|
||||
public bool InitialRender { get; set; }
|
||||
public int Value = 0; // consider that value your querystring contains
|
||||
public int foundrow = 0;
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
foreach (BWPMModels.Beruf item in _berufe)
|
||||
{
|
||||
Beruf be = new Beruf();
|
||||
be.id = item.ID;
|
||||
be.bezeichnung = item.bezeichnung;
|
||||
berufe.Add(be);
|
||||
}
|
||||
foreach (BWPMModels.Zeiten item in _zeiten)
|
||||
{
|
||||
Zeit ze = new Zeit();
|
||||
ze.id = item.ID;
|
||||
ze.bezeichnung = item.bezeichnung;
|
||||
zeiten.Add(ze);
|
||||
}
|
||||
|
||||
firmaid = await sessionStorage.GetItemAsync<string>("FirmaID");
|
||||
get_ansprechaprtner(firmaid);
|
||||
}
|
||||
protected override async Task OnAfterRenderAsync(bool firstRender)
|
||||
{
|
||||
if (firstRender != true) { return; };
|
||||
userid = await sessionStorage.GetItemAsync<string>("UserID");
|
||||
if (userid == null)
|
||||
{
|
||||
var authState = await authenticationStateTask;
|
||||
userid = authState.User.Claims.FirstOrDefault().Value;
|
||||
var user = authState.User;
|
||||
|
||||
}
|
||||
firmaid = await sessionStorage.GetItemAsync<string>("FirmaID");
|
||||
if (firmaid == null)
|
||||
{
|
||||
Firmendaten = BlazorApp.Controller.FirmaController.GetByUserID(userid);
|
||||
firmaid = Firmendaten.First<BWPMModels.Firma>().ID.ToString();
|
||||
}
|
||||
try
|
||||
{
|
||||
GridData = BlazorApp.Controller.FirmaberufController.GetAllAktiveByFirmaID(Convert.ToInt32(firmaid));
|
||||
|
||||
get_ansprechaprtner(firmaid);
|
||||
|
||||
}
|
||||
catch { };
|
||||
await Task.Delay(200);
|
||||
try
|
||||
{
|
||||
await sessionStorage.SetItemAsync("FirmaID", firmaid);
|
||||
await sessionStorage.SetItemAsync("UserID", userid);
|
||||
|
||||
}
|
||||
catch { }
|
||||
for (int i = 1; i < 51; i++)
|
||||
{
|
||||
plaetze.Add(new Plaetze { id = i, text = i.ToString() });
|
||||
}
|
||||
PlatzID = "1";
|
||||
KlassenTypID = "1";
|
||||
}
|
||||
|
||||
private void get_ansprechaprtner(string firmaid)
|
||||
{
|
||||
if (firmaid=="") {return;};
|
||||
lap.Clear();
|
||||
ansprechpartner = BlazorApp.Controller.AnsprechpartnerController.GetAllAktivDataByFirmaID(Convert.ToInt32(firmaid));
|
||||
foreach (Ansprechpartner item in ansprechpartner)
|
||||
{
|
||||
AP a1 = new AP();
|
||||
a1.ID = item.ID;
|
||||
a1.name = item.name;
|
||||
lap.Add(a1);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
public class AP
|
||||
{
|
||||
public int ID { get; set; }
|
||||
public string name { get; set; }
|
||||
}
|
||||
|
||||
public class Plaetze
|
||||
{
|
||||
public int id { get; set; }
|
||||
public string text { get; set; }
|
||||
}
|
||||
|
||||
public class Beruf
|
||||
{
|
||||
public int id { get; set; }
|
||||
public string bezeichnung { get; set; }
|
||||
}
|
||||
|
||||
public class Zeit
|
||||
{
|
||||
public int id { get; set; }
|
||||
public string bezeichnung { get; set; }
|
||||
}
|
||||
|
||||
private void CloseDialog()
|
||||
{
|
||||
this.ShowDialog = false;
|
||||
}
|
||||
|
||||
public void einfuegen()
|
||||
{
|
||||
message = "";
|
||||
int bid = 0;
|
||||
int aid = 0;
|
||||
int zid = 0;
|
||||
int pid = 0;
|
||||
int kid = 0;
|
||||
|
||||
try { bid = Convert.ToInt32(BerufID[0]); } catch { };
|
||||
try { aid = Convert.ToInt32(AnsprechpartnerID[0]); } catch { };
|
||||
try { zid = Convert.ToInt32(ZeitID[0]); } catch { };
|
||||
try { pid = Convert.ToInt32(PlatzID); } catch { };
|
||||
try { kid = Convert.ToInt32(KlassenTypID); } catch { };
|
||||
|
||||
if (bid == 0) { message += "- Bitte einen Beruf auswählen<br/>"; };
|
||||
if (aid == 0) { message += "- Bitte einen Ansprechpartner auswählen<br/>"; };
|
||||
if (zid == 0) { message += "- Bitte einen Zeit auswählen<br/>"; };
|
||||
if (pid == 0) { message += "- Bitte Anzahl Plätze auswählen<br/>"; };
|
||||
if (kid == 0) { message += "- Bitte Klassentyp auswählen<br/>"; };
|
||||
if (message != "")
|
||||
{
|
||||
this.ShowDialog = true;
|
||||
return;
|
||||
}
|
||||
|
||||
BWPMModels.Firmaberuf fb = new BWPMModels.Firmaberuf();
|
||||
fb.firmaID = Convert.ToInt32(firmaid);
|
||||
fb.berufID = bid;
|
||||
fb.ansprechpartnerID = aid;
|
||||
fb.zeitID = zid;
|
||||
fb.anzahl = pid;
|
||||
fb.klassetypID = kid;
|
||||
fb.erstellt_am = DateTime.Now;
|
||||
fb.mutiert_am = DateTime.Now;
|
||||
fb.aktiv = true;
|
||||
fb.mutierer = userid;
|
||||
fb.bemerkung = bemerkung;
|
||||
fb.schuelerbemerkung = schuelerbemerkung;
|
||||
fb.standortbemerkung = standortbemerkung;
|
||||
BlazorApp.Controller.FirmaberufController.POST(fb);
|
||||
GridData = BlazorApp.Controller.FirmaberufController.GetAllAktiveByFirmaID(Convert.ToInt32(firmaid));
|
||||
Grid.Refresh();
|
||||
|
||||
}
|
||||
private async Task OnBeginHandler(ActionEventArgs<BWPMModels.Firmaberuf> Args)
|
||||
|
||||
{
|
||||
if (Args.RequestType == Syncfusion.Blazor.Grids.Action.Save)
|
||||
{
|
||||
if (Args.Action == "Add")
|
||||
{
|
||||
|
||||
Args.Data.erstellt_am = DateTime.Now;
|
||||
Args.Data.mutierer = userid;
|
||||
Args.Data.mutiert_am = DateTime.Now;
|
||||
Args.Data.aktiv = true;
|
||||
Args.Data.ID = BlazorApp.Controller.FirmaberufController.POST(Args.Data);
|
||||
Value = Args.Data.ID;
|
||||
}
|
||||
else
|
||||
{
|
||||
Args.Data.mutierer = userid.ToString();
|
||||
Args.Data.mutiert_am = DateTime.Now;
|
||||
BlazorApp.Controller.FirmaberufController.PUT(Args.Data);
|
||||
}
|
||||
}
|
||||
if (Args.RequestType == Syncfusion.Blazor.Grids.Action.Delete)
|
||||
{
|
||||
Args.Data.aktiv = false;
|
||||
Args.Data.mutierer = userid;
|
||||
Args.Data.mutiert_am = DateTime.Now;
|
||||
BlazorApp.Controller.FirmaberufController.PUT(Args.Data);
|
||||
}
|
||||
}
|
||||
|
||||
public async Task OnCompletedHandler(ActionEventArgs<BWPMModels.Firmaberuf> Args)
|
||||
|
||||
{
|
||||
if (Args.RequestType == Syncfusion.Blazor.Grids.Action.Save)
|
||||
{
|
||||
await Grid.SetRowData(Args.Data.ID, Args.Data);
|
||||
double xx = 0;
|
||||
Value = Args.Data.ID;
|
||||
xx = await DataHandler();
|
||||
await Grid.SelectRow(xx);
|
||||
|
||||
}
|
||||
}
|
||||
public async void RowDataBoundHandler(BeforeDataBoundArgs<BWPMModels.Firmaberuf> args)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public async Task<double> DataHandler()
|
||||
{
|
||||
var PageCount = (GridData.Count / Grid.PageSettings.PageSize) + 1;
|
||||
ContinuePaging = true;
|
||||
var CurrentPage = 1;
|
||||
Grid.Refresh();
|
||||
await Grid.GoToPage(1);
|
||||
|
||||
for (int i = 1; i <= PageCount; i++)
|
||||
|
||||
{
|
||||
List<Firmaberuf> Rows = await Grid.GetCurrentViewRecords(); // returns the current view data
|
||||
for (int j = 0; j < Grid.PageSettings.PageSize; j++)
|
||||
{
|
||||
if (j < Rows.Count && Rows[j].ID == Value)
|
||||
{
|
||||
foundrow = j;
|
||||
|
||||
ContinuePaging = false; // prevent the default navigation
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (ContinuePaging)
|
||||
{
|
||||
if (i >= PageCount)
|
||||
{
|
||||
i = 0;
|
||||
}
|
||||
await Grid.GoToPage(i + 1);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
return foundrow;
|
||||
}
|
||||
}
|
||||
return foundrow;
|
||||
}
|
||||
|
||||
}
|
||||
275
BlazorApp/Pages/Company/Company.razor
Normal file
275
BlazorApp/Pages/Company/Company.razor
Normal file
@@ -0,0 +1,275 @@
|
||||
@page "/Company/Company"
|
||||
@inject Blazored.SessionStorage.ISessionStorageService sessionStorage
|
||||
@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;
|
||||
|
||||
@*<div class="container">*@
|
||||
|
||||
|
||||
<div class="control-section e-tab-section">
|
||||
|
||||
<EditForm Model="_firma" OnValidSubmit="@Submit" OnInvalidSubmit="@InvalidSubmit">
|
||||
<div class="card">
|
||||
|
||||
<div class="card-body">
|
||||
<SfButton IsPrimary="true" OnClick="@(() => SaveClick())">Speichern</SfButton>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<DataAnnotationsValidator />
|
||||
<SfTab ID="BlazorTab" Height="390">
|
||||
<TabItems>
|
||||
<TabItem>
|
||||
<ChildContent>
|
||||
<TabHeader Text="Kontakt-Daten"></TabHeader>
|
||||
</ChildContent>
|
||||
<ContentTemplate>
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Adress-Daten</h5>
|
||||
<form>
|
||||
<div class="form-group row">
|
||||
<label for="nameZ1" class="col-2 col-form-label">Name</label>
|
||||
<div class="col-10">
|
||||
<InputText id="namez1" class="form-control" @bind-Value="_firma.nameZ1" placeholder="Firmenname" />
|
||||
<ValidationMessage For="@(() => _firma.nameZ1)" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="nameZ2" class="col-2 col-form-label">Zusatz</label>
|
||||
<div class="col-10">
|
||||
<InputText id="nameZ2" class="form-control" @bind-Value="@_firma.nameZ2" placeholder="Zusatz" />
|
||||
<ValidationMessage For="@(() => _firma.nameZ2)" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="strasse" class="col-2 col-form-label">Strasse</label>
|
||||
<div class="col-10">
|
||||
<InputText id="strasse" class="form-control" @bind-Value="@_firma.strasse" placeholder="Strasse" />
|
||||
<ValidationMessage For="@(() => _firma.strasse)" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="plz" class="col-2 col-form-label">PLZ</label>
|
||||
<div class="col-10">
|
||||
<InputText id="plz" class="form-control" @bind-Value="@_firma.plz" placeholder="Postleitzahl" />
|
||||
<ValidationMessage For="@(() => _firma.plz)" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="ort" class="col-2 col-form-label">Ort</label>
|
||||
<div class="col-10">
|
||||
<InputText id="ort" class="form-control" @bind-Value="@_firma.ort" placeholder="Ort" />
|
||||
<ValidationMessage For="@(() => _firma.ort)" />
|
||||
</div>
|
||||
</div>
|
||||
<hr />
|
||||
<div class="form-group row">
|
||||
<label for="telefon" class="col-2 col-form-label">Telefon</label>
|
||||
<div class="col-10">
|
||||
<InputText id="tel" class="form-control" @bind-Value="@_firma.tel" placeholder="Telefon-Nummer" />
|
||||
<ValidationMessage For="@(() => _firma.tel)" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="email" class="col-2 col-form-label">E-Mail</label>
|
||||
<div class="col-10">
|
||||
<InputText id="mail" class="form-control" @bind-Value="@_firma.mail" placeholder="E-Mail" required="required" typeof="email" />
|
||||
<ValidationMessage For="@(() => _firma.mail)" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="web" class="col-2 col-form-label">Internet</label>
|
||||
<div class="col-10">
|
||||
<InputText id="internet" class="form-control" @bind-Value="@_firma.web" placeholder="Internet" />
|
||||
<ValidationMessage For="@(() => _firma.web)" />
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="Bemerkungen" class="col-2 col-form-label">Bemerkung</label>
|
||||
<div class="col-10">
|
||||
<InputTextArea id="bemerkung" class="form-control" @bind-Value="@_firma.bemerkung" placeholder="Bemerkung" />
|
||||
<ValidationMessage For="@(() => _firma.bemerkung)" />
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Ansprechperson</h5>
|
||||
<form>
|
||||
<div class="form-group row">
|
||||
<label for="Anrede" class="col-2 col-form-label">Anrede</label>
|
||||
<div class="col-10">
|
||||
<select id="Anrede" name="Anrede" class="form-control" @bind="@_firma.anrede">
|
||||
<option value="1">Herr</option>
|
||||
<option value="2">Frau</option>
|
||||
<option value="3">Damen und Herren</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="ansprechperson_anme" class="col-2 col-form-label">Name</label>
|
||||
<div class="col-10">
|
||||
<InputText id="ansprechperson_name" class="form-control" @bind-Value="@_firma.ansprechperson_name" placeholder="Name Ansprechperson" />
|
||||
<ValidationMessage For="@(() => _firma.ansprechperson_name)" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="ansprechperson_vorname" class="col-2 col-form-label">Vorname</label>
|
||||
<div class="col-10">
|
||||
<InputText id="ansprechperson_vorname" class="form-control" @bind-Value="@_firma.ansprechperon_vorname" placeholder="Vorname Ansprechperson" />
|
||||
<ValidationMessage For="@(() => _firma.ansprechperon_vorname)" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="briefanrede" class="col-2 col-form-label">Briefanrede</label>
|
||||
<div class="col-10">
|
||||
<InputText id="briefanrede" class="form-control" @bind-Value="@_firma.briefanrede" placeholder="gewünschte Briefanrede" />
|
||||
<ValidationMessage For="@(() => _firma.briefanrede)" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="handy" class="col-2 col-form-label">Telefon</label>
|
||||
<div class="col-10">
|
||||
<InputText id="handy" class="form-control" @bind-Value="@_firma.handy" placeholder="Telefon" />
|
||||
<ValidationMessage For="@(() => _firma.handy)" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</ContentTemplate>
|
||||
|
||||
</TabItem>
|
||||
<TabItem>
|
||||
<ChildContent>
|
||||
<TabHeader text="Angaben zur Ausbildung"></TabHeader>
|
||||
</ChildContent>
|
||||
<ContentTemplate>
|
||||
<div class="col-md-10">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Allgemeine Angaben</h5>
|
||||
<form>
|
||||
<div class="form-group row">
|
||||
<label for="ausbildung_Standort" class="col-2 col-form-label">Ausbildungsstandort</label>
|
||||
<div class="col-10">
|
||||
<InputTextArea id="ausbildung_Standort" class="form-control" @bind-Value="@_firma.ausbildungsstandort" placeholder="Allgmeine Angaben über Ausbildungsstandort" />
|
||||
<ValidationMessage For="@(() => _firma.ausbildungsstandort)" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="ausbildung_bemerkung" class="col-2 col-form-label">Bemerkung</label>
|
||||
<div class="col-10">
|
||||
<InputTextArea id="ausbildung_bemerkung" class="form-control" @bind-Value="@_firma.ausbildungsbemerkung" placeholder="Allgemeine Bemerkungen zu den Ausbildungen" />
|
||||
<ValidationMessage For="@(() => _firma.ausbildungsbemerkung)" />
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</TabItem>
|
||||
</TabItems>
|
||||
</SfTab>
|
||||
|
||||
|
||||
</EditForm>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<SfDialog Width="250px" IsModal="true" @bind-Visible="@ShowErrorDialog">
|
||||
<DialogTemplates>
|
||||
<Header> Formmular unvollständig </Header>
|
||||
<Content> Bitte das Formular vollständig ausfüllen. </Content>
|
||||
|
||||
</DialogTemplates>
|
||||
<DialogButtons>
|
||||
<DialogButton Content="OK" IsPrimary="true" OnClick="@CloseDialog" />
|
||||
</DialogButtons>
|
||||
</SfDialog>
|
||||
|
||||
@*</div>*@
|
||||
@code {
|
||||
private Firma _firma { get; set; } = new BWPMModels.Firma();
|
||||
public List<BWPMModels.Firma> Firmendaten { get; set; }
|
||||
string userid = "";
|
||||
public static int? pkey { get; set; }
|
||||
public bool Initial { get; set; } = true;
|
||||
private bool ShowErrorDialog { get; set; } = false;
|
||||
|
||||
public void Submit()
|
||||
{
|
||||
BlazorApp.Controller.FirmaController.PUT(_firma);
|
||||
}
|
||||
public void InvalidSubmit()
|
||||
{
|
||||
ShowErrorDialog = true;
|
||||
}
|
||||
private void CloseDialog()
|
||||
{
|
||||
this.ShowErrorDialog = false;
|
||||
}
|
||||
|
||||
private void SaveClick()
|
||||
{
|
||||
//BlazorApp.Controller.FirmaController.savedata(_firma);
|
||||
}
|
||||
|
||||
protected override async void OnInitialized()
|
||||
{
|
||||
|
||||
}
|
||||
protected override async Task OnAfterRenderAsync(bool firstRender)
|
||||
{
|
||||
@*userid = "4c456017-85b9-4f34-a42c-f3ac534cc34f";*@
|
||||
|
||||
userid = await sessionStorage.GetItemAsync<string>("UserID");
|
||||
if (userid == null)
|
||||
{
|
||||
var authState = await authenticationStateTask;
|
||||
var userId = authState.User.Claims.FirstOrDefault().Value;
|
||||
var user = authState.User;
|
||||
|
||||
if (user.Identity.IsAuthenticated)
|
||||
|
||||
{
|
||||
await sessionStorage.SetItemAsync("UserID", userId);
|
||||
userid = userId;
|
||||
}
|
||||
else
|
||||
{
|
||||
await sessionStorage.SetItemAsync("UserID", userId);
|
||||
userid = userId;
|
||||
}
|
||||
}
|
||||
if (firstRender)
|
||||
{
|
||||
Firmendaten = BlazorApp.Controller.FirmaController.GetByUserID(userid);
|
||||
_firma = Firmendaten.First<BWPMModels.Firma>();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
212
BlazorApp/Pages/Company/CompanyContact.razor
Normal file
212
BlazorApp/Pages/Company/CompanyContact.razor
Normal file
@@ -0,0 +1,212 @@
|
||||
@page "/Company/CompanyContact"
|
||||
@inject Blazored.SessionStorage.ISessionStorageService sessionStorage
|
||||
@inherits Admin.ListBase
|
||||
@using Syncfusion.Blazor.Grids;
|
||||
@using Syncfusion.Blazor.Buttons;
|
||||
@using Syncfusion.Blazor.Spinner;
|
||||
@using Syncfusion.Blazor.Popups;
|
||||
@using BlazorApp.Helper
|
||||
@using BWPMModels;
|
||||
|
||||
@using BlazorApp.Controller;
|
||||
|
||||
|
||||
<h1>Ansprechpartner</h1>
|
||||
|
||||
|
||||
<div class="col-lg-12 control-section">
|
||||
<div class="content-wrapper">
|
||||
<div class="row">
|
||||
<SfGrid DataSource="@GridData" @ref="Grid" AllowPaging="true" AllowSorting="true" Toolbar="@(new List<string>() { "Add", "Edit", "Update", "Cancel" })">
|
||||
<GridPageSettings PageCount="5" PageSizes="true"></GridPageSettings>
|
||||
<GridEditSettings AllowAdding="true" AllowDeleting="false" AllowEditing="true" Mode="EditMode.Dialog"></GridEditSettings>
|
||||
<GridEvents OnActionBegin="OnBeginHandler" OnActionComplete="OnCompletedHandler" TValue="Ansprechpartner" OnDataBound="RowDataBoundHandler"></GridEvents>
|
||||
<GridColumns>
|
||||
<GridColumn Type="ColumnType.CheckBox" AllowFiltering="false" AllowSorting="false" Width="60"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(Ansprechpartner.ID) HeaderText="Id" IsPrimaryKey="true" AllowAdding="false" Width="60"></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="true" 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>
|
||||
|
||||
<SfDialog Width="250px" IsModal="true" @bind-Visible="@ShowDialog">
|
||||
<DialogTemplates>
|
||||
<Header> Formmular unvollständig </Header>
|
||||
<Content> Bitte das Formular vollständig ausfüllen. </Content>
|
||||
|
||||
</DialogTemplates>
|
||||
<DialogButtons>
|
||||
<DialogButton Content="OK" IsPrimary="true" OnClick="@CloseDialog" />
|
||||
</DialogButtons>
|
||||
</SfDialog>
|
||||
@code{
|
||||
SfGrid<Ansprechpartner> Grid { get; set; }
|
||||
public List<BWPMModels.Ansprechpartner> GridData { get; set; }
|
||||
public List<BWPMModels.Ansprechpartner> Ansprechpartners { get; set; }
|
||||
string userid = "";
|
||||
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;
|
||||
|
||||
private Firma _firma { get; set; } = new BWPMModels.Firma();
|
||||
public List<BWPMModels.Firma> Firmendaten { get; set; }
|
||||
private bool ShowDialog { get; set; } = false;
|
||||
|
||||
private void CloseDialog()
|
||||
{
|
||||
this.ShowDialog = false;
|
||||
}
|
||||
|
||||
protected override async void OnInitialized()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
protected override async Task OnAfterRenderAsync(bool firstRender)
|
||||
{
|
||||
|
||||
@*userid = "4c456017-85b9-4f34-a42c-f3ac534cc34f";*@
|
||||
|
||||
userid = await sessionStorage.GetItemAsync<string>("UserID");
|
||||
if (userid == null)
|
||||
{
|
||||
var authState = await authenticationStateTask;
|
||||
var userId = authState.User.Claims.FirstOrDefault().Value;
|
||||
var user = authState.User;
|
||||
|
||||
if (user.Identity.IsAuthenticated)
|
||||
|
||||
{
|
||||
await sessionStorage.SetItemAsync("UserID", userId);
|
||||
userid = userId;
|
||||
}
|
||||
else
|
||||
{
|
||||
await sessionStorage.SetItemAsync("UserID", userId);
|
||||
userid = userId;
|
||||
}
|
||||
}
|
||||
|
||||
Firmendaten = BlazorApp.Controller.FirmaController.GetByUserID(userid);
|
||||
_firma = Firmendaten.First<BWPMModels.Firma>();
|
||||
if (_firma.nameZ1==""){
|
||||
ShowDialog = true;
|
||||
return;
|
||||
}
|
||||
GridData = BlazorApp.Controller.AnsprechpartnerController.GetByFirmaID(_firma.ID);
|
||||
|
||||
}
|
||||
private async Task OnBeginHandler(ActionEventArgs<BWPMModels.Ansprechpartner> Args)
|
||||
|
||||
{
|
||||
if (Args.RequestType == Syncfusion.Blazor.Grids.Action.Save)
|
||||
{
|
||||
if (Args.Action == "Add")
|
||||
{
|
||||
|
||||
Args.Data.erstellt_am = DateTime.Now;
|
||||
Args.Data.mutierer = userid;
|
||||
Args.Data.mutiert_am = DateTime.Now;
|
||||
Args.Data.aktiv = true;
|
||||
Args.Data.FirmaID = _firma.ID;
|
||||
Args.Data.ID = BlazorApp.Controller.AnsprechpartnerController.POST(Args.Data);
|
||||
Value = Args.Data.ID;
|
||||
}
|
||||
else
|
||||
{
|
||||
Args.Data.mutierer = userid.ToString();
|
||||
Args.Data.mutiert_am = DateTime.Now;
|
||||
BlazorApp.Controller.AnsprechpartnerController.PUT(Args.Data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public async Task OnCompletedHandler(ActionEventArgs<BWPMModels.Ansprechpartner> Args)
|
||||
|
||||
{
|
||||
if (Args.RequestType == Syncfusion.Blazor.Grids.Action.Save)
|
||||
{
|
||||
await Grid.SetRowData(Args.Data.ID, Args.Data);
|
||||
double xx = 0;
|
||||
Value = Args.Data.ID;
|
||||
xx = await DataHandler();
|
||||
await Grid.SelectRow(xx);
|
||||
|
||||
}
|
||||
}
|
||||
public async void RowDataBoundHandler(BeforeDataBoundArgs<BWPMModels.Ansprechpartner> args)
|
||||
{
|
||||
if (!Initial)
|
||||
{
|
||||
//await Task.Delay(100);
|
||||
//var Idx = await this.Grid.GetRowIndexByPrimaryKey(Convert.ToDouble(Value)); //get index value
|
||||
//this.Grid.SelectRow(Convert.ToDouble(Idx));
|
||||
}
|
||||
Initial = false;
|
||||
}
|
||||
|
||||
public async Task<double> DataHandler()
|
||||
{
|
||||
var PageCount = (GridData.Count / Grid.PageSettings.PageSize) + 1;
|
||||
ContinuePaging = true;
|
||||
var CurrentPage = 1;
|
||||
Grid.Refresh();
|
||||
await Grid.GoToPage(1);
|
||||
|
||||
for (int i = 1; i <= PageCount; i++)
|
||||
|
||||
{
|
||||
List<Ansprechpartner> Rows = await Grid.GetCurrentViewRecords(); // returns the current view data
|
||||
for (int j = 0; j < Grid.PageSettings.PageSize; j++)
|
||||
{
|
||||
if (j < Rows.Count && Rows[j].ID == Value)
|
||||
{
|
||||
foundrow = j;
|
||||
|
||||
ContinuePaging = false; // prevent the default navigation
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (ContinuePaging)
|
||||
{
|
||||
if (i >= PageCount)
|
||||
{
|
||||
i = 0;
|
||||
}
|
||||
await Grid.GoToPage(i + 1);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
return foundrow;
|
||||
}
|
||||
}
|
||||
return foundrow;
|
||||
}
|
||||
}
|
||||
273
BlazorApp/Pages/Company/Test.razor
Normal file
273
BlazorApp/Pages/Company/Test.razor
Normal file
@@ -0,0 +1,273 @@
|
||||
@page "/Company/Test"
|
||||
@inject Blazored.SessionStorage.ISessionStorageService sessionStorage
|
||||
@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;
|
||||
|
||||
@*<div class="container">*@
|
||||
|
||||
|
||||
<div class="control-section e-tab-section">
|
||||
|
||||
<EditForm Model="_firma" OnValidSubmit="@Submit" OnInvalidSubmit="@InvalidSubmit">
|
||||
<div class="card">
|
||||
|
||||
<div class="card-body">
|
||||
<SfButton IsPrimary="true" OnClick="@(() => SaveClick())">Speichern</SfButton>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<DataAnnotationsValidator />
|
||||
<SfTab ID="BlazorTab" Height="390">
|
||||
<TabItems>
|
||||
<TabItem>
|
||||
<ChildContent>
|
||||
<TabHeader Text="Kontakt-Daten"></TabHeader>
|
||||
</ChildContent>
|
||||
<ContentTemplate>
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Adress-Daten</h5>
|
||||
<form>
|
||||
<div class="form-group row">
|
||||
<label for="nameZ1" class="col-2 col-form-label">Name</label>
|
||||
<div class="col-10">
|
||||
<InputText id="namez1" class="form-control" @bind-Value="_firma.nameZ1" placeholder="Firmenname" />
|
||||
<ValidationMessage For="@(() => _firma.nameZ1)" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="nameZ2" class="col-2 col-form-label">Zusatz</label>
|
||||
<div class="col-10">
|
||||
<InputText id="nameZ2" class="form-control" @bind-Value="@_firma.nameZ2" placeholder="Zusatz" />
|
||||
<ValidationMessage For="@(() => _firma.nameZ2)" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="strasse" class="col-2 col-form-label">Strasse</label>
|
||||
<div class="col-10">
|
||||
<InputText id="strasse" class="form-control" @bind-Value="@_firma.strasse" placeholder="Strasse" />
|
||||
<ValidationMessage For="@(() => _firma.strasse)" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="plz" class="col-2 col-form-label">PLZ</label>
|
||||
<div class="col-10">
|
||||
<InputText id="plz" class="form-control" @bind-Value="@_firma.plz" placeholder="Postleitzahl" />
|
||||
<ValidationMessage For="@(() => _firma.plz)" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="ort" class="col-2 col-form-label">Ort</label>
|
||||
<div class="col-10">
|
||||
<InputText id="ort" class="form-control" @bind-Value="@_firma.ort" placeholder="Ort" />
|
||||
<ValidationMessage For="@(() => _firma.ort)" />
|
||||
</div>
|
||||
</div>
|
||||
<hr />
|
||||
<div class="form-group row">
|
||||
<label for="telefon" class="col-2 col-form-label">Telefon</label>
|
||||
<div class="col-10">
|
||||
<InputText id="tel" class="form-control" @bind-Value="@_firma.tel" placeholder="Telefon-Nummer" />
|
||||
<ValidationMessage For="@(() => _firma.tel)" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="email" class="col-2 col-form-label">E-Mail</label>
|
||||
<div class="col-10">
|
||||
<InputText id="mail" class="form-control" @bind-Value="@_firma.mail" placeholder="E-Mail" required="required" typeof="email" />
|
||||
<ValidationMessage For="@(() => _firma.mail)" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="web" class="col-2 col-form-label">Internet</label>
|
||||
<div class="col-10">
|
||||
<InputText id="internet" class="form-control" @bind-Value="@_firma.web" placeholder="Internet" />
|
||||
<ValidationMessage For="@(() => _firma.web)" />
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="Bemerkungen" class="col-2 col-form-label">Bemerkung</label>
|
||||
<div class="col-10">
|
||||
<InputTextArea id="bemerkung" class="form-control" @bind-Value="@_firma.bemerkung" placeholder="Internet" />
|
||||
<ValidationMessage For="@(() => _firma.bemerkung)" />
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Ansprechperson</h5>
|
||||
<form>
|
||||
<div class="form-group row">
|
||||
<label for="Anrede" class="col-2 col-form-label">Anrede</label>
|
||||
<div class="col-10">
|
||||
<select id="Anrede" name="Anrede" class="form-control" @bind="@_firma.anrede">
|
||||
<option value="1">Herr</option>
|
||||
<option value="2">Frau</option>
|
||||
<option value="3">Damen und Herren</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="ansprechperson_anme" class="col-2 col-form-label">Name</label>
|
||||
<div class="col-10">
|
||||
<InputText id="ansprechperson_name" class="form-control" @bind-Value="@_firma.ansprechperson_name" placeholder="Name Ansprechperson" />
|
||||
<ValidationMessage For="@(() => _firma.ansprechperson_name)" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="ansprechperson_vorname" class="col-2 col-form-label">Vorname</label>
|
||||
<div class="col-10">
|
||||
<InputText id="ansprechperson_vorname" class="form-control" @bind-Value="@_firma.ansprechperon_vorname" placeholder="Vorname Ansprechperson" />
|
||||
<ValidationMessage For="@(() => _firma.ansprechperon_vorname)" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="briefanrede" class="col-2 col-form-label">Briefanrede</label>
|
||||
<div class="col-10">
|
||||
<InputText id="briefanrede" class="form-control" @bind-Value="@_firma.briefanrede" placeholder="gewünschte Briefanrede" />
|
||||
<ValidationMessage For="@(() => _firma.briefanrede)" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="handy" class="col-2 col-form-label">Telefon</label>
|
||||
<div class="col-10">
|
||||
<InputText id="handy" class="form-control" @bind-Value="@_firma.handy" placeholder="Telefon" />
|
||||
<ValidationMessage For="@(() => _firma.handy)" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</ContentTemplate>
|
||||
|
||||
</TabItem>
|
||||
<TabItem>
|
||||
<ChildContent>
|
||||
<TabHeader text="Angaben zur Ausbildung"></TabHeader>
|
||||
</ChildContent>
|
||||
<ContentTemplate>
|
||||
<div class="col-md-10">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Allgemeine Angaben</h5>
|
||||
<form>
|
||||
<div class="form-group row">
|
||||
<label for="ausbildung_Standort" class="col-2 col-form-label">Ausbildungsstandort</label>
|
||||
<div class="col-10">
|
||||
<InputTextArea id="ausbildung_Standort" class="form-control" @bind-Value="@_firma.ausbildungsstandort" placeholder="Allgmeine Angaben über Ausbildungsstandort" />
|
||||
<ValidationMessage For="@(() => _firma.ausbildungsstandort)" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="ausbildung_bemerkung" class="col-2 col-form-label">Bemerkung</label>
|
||||
<div class="col-10">
|
||||
<InputTextArea id="ausbildung_bemerkung" class="form-control" @bind-Value="@_firma.ausbildungsbemerkung" placeholder="Allgemeine Bemerkungen zu den Ausbildungen" />
|
||||
<ValidationMessage For="@(() => _firma.ausbildungsbemerkung)" />
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</ContentTemplate>
|
||||
</TabItem>
|
||||
</TabItems>
|
||||
</SfTab>
|
||||
|
||||
|
||||
</EditForm>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<SfDialog Width="250px" IsModal="true" @bind-Visible="@ShowErrorDialog">
|
||||
<DialogTemplates>
|
||||
<Header> Formmular unvollständig </Header>
|
||||
<Content> Bitte das Formular vollständig ausfüllen. </Content>
|
||||
|
||||
</DialogTemplates>
|
||||
<DialogButtons>
|
||||
<DialogButton Content="OK" IsPrimary="true" OnClick="@CloseDialog" />
|
||||
</DialogButtons>
|
||||
</SfDialog>
|
||||
|
||||
@*</div>*@
|
||||
@code {
|
||||
private Firma _firma { get; set; } = new BWPMModels.Firma();
|
||||
public List<BWPMModels.Firma> Firmendaten { get; set; }
|
||||
string userid = "";
|
||||
public static int? pkey { get; set; }
|
||||
public bool Initial { get; set; } = true;
|
||||
private bool ShowErrorDialog { get; set; } = false;
|
||||
|
||||
public void Submit()
|
||||
{
|
||||
BlazorApp.Controller.FirmaController.PUT(_firma);
|
||||
}
|
||||
public void InvalidSubmit()
|
||||
{
|
||||
ShowErrorDialog = true;
|
||||
}
|
||||
private void CloseDialog()
|
||||
{
|
||||
this.ShowErrorDialog = false;
|
||||
}
|
||||
|
||||
private void SaveClick()
|
||||
{
|
||||
//BlazorApp.Controller.FirmaController.savedata(_firma);
|
||||
}
|
||||
|
||||
protected override async void OnInitialized()
|
||||
{
|
||||
userid = "4c456017-85b9-4f34-a42c-f3ac534cc34f";
|
||||
|
||||
@* userid = await sessionStorage.GetItemAsync<string>("UserID");
|
||||
if (userid == null)
|
||||
{
|
||||
var authState = await authenticationStateTask;
|
||||
var userId = authState.User.Claims.FirstOrDefault().Value;
|
||||
var user = authState.User;
|
||||
|
||||
if (user.Identity.IsAuthenticated)
|
||||
|
||||
{
|
||||
await sessionStorage.SetItemAsync("UserID", userId);
|
||||
userid = userId;
|
||||
}
|
||||
else
|
||||
{
|
||||
await sessionStorage.SetItemAsync("UserID", userId);
|
||||
userid = userId;
|
||||
}
|
||||
}*@
|
||||
|
||||
Firmendaten = BlazorApp.Controller.FirmaController.GetByUserID(userid);
|
||||
_firma = Firmendaten.First<BWPMModels.Firma>();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
5
BlazorApp/Pages/Component.razor
Normal file
5
BlazorApp/Pages/Component.razor
Normal file
@@ -0,0 +1,5 @@
|
||||
<h3>Component</h3>
|
||||
|
||||
@code {
|
||||
|
||||
}
|
||||
131
BlazorApp/Pages/Reporting/Reporting.razor
Normal file
131
BlazorApp/Pages/Reporting/Reporting.razor
Normal file
@@ -0,0 +1,131 @@
|
||||
@page "/Reporting/Reporting"
|
||||
@page "/Reporting/Reporting/{ReportNr}"
|
||||
@inherits Admin.ListBase;
|
||||
|
||||
@inject Blazored.SessionStorage.ISessionStorageService sessionStorage
|
||||
@using Microsoft.AspNetCore.Hosting;
|
||||
@using System.IO;
|
||||
@using System.Data;
|
||||
@using FastReport
|
||||
@using FastReport.Web
|
||||
@using FastReport.Web.Blazor.Components
|
||||
@using BWPMModels;
|
||||
@using Syncfusion.Blazor.Spinner
|
||||
<div id="container">
|
||||
|
||||
<WebReportContainer WebReport="@UserWebReport" />
|
||||
<SfSpinner @bind-Visible="@Spinnervisible">
|
||||
</SfSpinner>
|
||||
</div>
|
||||
@emsg;
|
||||
|
||||
@code {
|
||||
[Parameter]
|
||||
public string ReportNr { get; set; }
|
||||
|
||||
public string emsg { get; set; } = "";
|
||||
private IHostingEnvironment Environment;
|
||||
private bool Spinnervisible { get; set; } = true;
|
||||
public string ReportName { get; set; }
|
||||
public DataSet DataSet { get; set; } = new DataSet();
|
||||
public WebReport UserWebReport { get; set; } = new WebReport();
|
||||
public Report Report { get; set; } = new Report();
|
||||
string guserid = "";
|
||||
string sql = "";
|
||||
|
||||
private Firma _firma { get; set; } = new BWPMModels.Firma();
|
||||
public List<BWPMModels.Firma> Firmendaten { get; set; }
|
||||
|
||||
|
||||
|
||||
protected override async Task OnAfterRenderAsync(bool firstRender)
|
||||
{
|
||||
Spinnervisible = false;
|
||||
}
|
||||
protected override async Task OnParametersSetAsync()
|
||||
{
|
||||
string paramtyp1 = "";
|
||||
string paramtyp2 = "";
|
||||
string paramtyp3 = "";
|
||||
|
||||
Helper.dbhelper dbh = new Helper.dbhelper();
|
||||
string reportdir = dbh.Get_Option(28);
|
||||
|
||||
reportdir += "/";
|
||||
dbh.Get_Tabledata("Select * from Report where id=" + ReportNr.ToString(), false, true);
|
||||
@*reportdir = "Reports/";*@
|
||||
try
|
||||
{
|
||||
Report = Report.FromFile(reportdir + dbh.dsdaten.Tables[0].Rows[0]["reportfile"]);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
emsg=e.Message;
|
||||
return;
|
||||
}
|
||||
paramtyp1 = dbh.dsdaten.Tables[0].Rows[0]["paramtype1"].ToString();
|
||||
paramtyp2 = dbh.dsdaten.Tables[0].Rows[0]["paramtype2"].ToString();
|
||||
paramtyp3 = dbh.dsdaten.Tables[0].Rows[0]["paramtype3"].ToString();
|
||||
|
||||
sql = dbh.dsdaten.Tables[0].Rows[0]["sql"].ToString();
|
||||
|
||||
switch (paramtyp1)
|
||||
{
|
||||
case "%firmaID%":
|
||||
Firmendaten = BlazorApp.Controller.FirmaController.GetByUserID(userid);
|
||||
_firma = Firmendaten.First<BWPMModels.Firma>();
|
||||
sql = sql.Replace("%firmaid%", _firma.ID.ToString());
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
};
|
||||
|
||||
|
||||
dbh.dsdaten.Tables.Clear();
|
||||
DataSet.Tables.Clear();
|
||||
DataSet.Tables.Add(dbh.Get_Tabledata(sql, false, true).Copy());
|
||||
Report.SetParameterValue("Parcours", dbh.Get_Option(2));
|
||||
Report.SetParameterValue("Spruch", dbh.Get_Option(3));
|
||||
Report.SetParameterValue("URL", dbh.Get_Option(27));
|
||||
Report.RegisterData(DataSet);
|
||||
Report.GetDataSource("Daten").Enabled = true;
|
||||
|
||||
UserWebReport.Report = Report;
|
||||
UserWebReport.Report.Refresh();
|
||||
Spinnervisible = false;
|
||||
}
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
try
|
||||
|
||||
{
|
||||
|
||||
userid = await sessionStorage.GetItemAsync<string>("UserID");
|
||||
if (userid == null)
|
||||
{
|
||||
var authState = await authenticationStateTask;
|
||||
var userId = authState.User.Claims.FirstOrDefault().Value;
|
||||
var user = authState.User;
|
||||
|
||||
if (user.Identity.IsAuthenticated)
|
||||
|
||||
{
|
||||
await sessionStorage.SetItemAsync("UserID", userId);
|
||||
userid = userId;
|
||||
}
|
||||
else
|
||||
{
|
||||
await sessionStorage.SetItemAsync("UserID", userId);
|
||||
userid = userId;
|
||||
}
|
||||
}
|
||||
UserWebReport = new WebReport();
|
||||
}
|
||||
catch (Exception e)
|
||||
{ emsg = e.Message.ToString(); };
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
38
BlazorApp/Pages/Reporting/Reporting.razor.cs
Normal file
38
BlazorApp/Pages/Reporting/Reporting.razor.cs
Normal file
@@ -0,0 +1,38 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using FastReport;
|
||||
using FastReport.Web;
|
||||
|
||||
|
||||
namespace BlazorApp.Pages.Reporting
|
||||
{
|
||||
public partial class Reporting
|
||||
{
|
||||
readonly string directory;
|
||||
const string DEFAULT_REPORT = "userliste.frx";
|
||||
string userid = "";
|
||||
//Report Report { get; set; }
|
||||
//DataSet DataSet { get; } = new DataSet();
|
||||
|
||||
|
||||
protected override void OnParametersSet()
|
||||
{
|
||||
base.OnParametersSet();
|
||||
|
||||
|
||||
}
|
||||
|
||||
public Reporting()
|
||||
{
|
||||
|
||||
BlazorApp.Helper.dbhelper dbh = new Helper.dbhelper();
|
||||
DataSet.Tables.Add(dbh.Get_Tabledata("Select * from AspNetUsers", false, true).Copy());
|
||||
DataSet.Tables[0].TableName = "Daten";
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
31
BlazorApp/Pages/Reporting/Reports/Auswertungen.xml
Normal file
31
BlazorApp/Pages/Reporting/Reports/Auswertungen.xml
Normal file
@@ -0,0 +1,31 @@
|
||||
<?xml version="1.0" standalone="yes"?>
|
||||
<LPReports>
|
||||
<Auswertungen>
|
||||
<Bericht>Firmendaten</Bericht>
|
||||
<SQL> SELECT dbo.Firma.ID, dbo.Firma.NameZ1, dbo.Firma.NameZ2, dbo.Firma.Strasse, dbo.Firma.PLZ, dbo.Firma.Ort, dbo.Firma.Tel, dbo.Firma.handy, dbo.Firma.Web, dbo.Firma.Mail,
|
||||
dbo.Firma.Bemerkung, dbo.Firma.Anrede, dbo.Firma.Ausbildungsstandort, dbo.Firma.Ausbildungsbemerkung, dbo.Firma.ansprechperson_name, dbo.Firma.ansprechperon_vorname, dbo.Ansprechpartner.id,
|
||||
dbo.Ansprechpartner.Name AS AName, dbo.Ansprechpartner.Vorname AS AVorname, dbo.Ansprechpartner.Tel AS ATel, dbo.Ansprechpartner.EMail AS AMail, dbo.Ansprechpartner.Anrede AS AAnrede, dbo.Beruf.Bezeichnung,
|
||||
dbo.KlassenTyp.bezeichnung AS Klasse, dbo.Zeiten.Bezeichnung AS Zeit, dbo.FirmaBeruf.Anzahl, dbo.FirmaBeruf.Schuelerbemerkung, dbo.FirmaBeruf.Standortbemerkung
|
||||
,dbo.Firma.mandantnr
|
||||
FROM dbo.Beruf INNER JOIN
|
||||
dbo.FirmaBeruf ON dbo.Beruf.id = dbo.FirmaBeruf.Berufid INNER JOIN
|
||||
dbo.Zeiten ON dbo.FirmaBeruf.Zeitid = dbo.Zeiten.id INNER JOIN
|
||||
dbo.Firma INNER JOIN
|
||||
dbo.Ansprechpartner ON dbo.Firma.ID = dbo.Ansprechpartner.FirmaID ON dbo.FirmaBeruf.Ansprechpartnerid = dbo.Ansprechpartner.id INNER JOIN
|
||||
dbo.KlassenTyp ON dbo.FirmaBeruf.KlassetypID = dbo.klassentyp.id
|
||||
|
||||
WHERE (dbo.Ansprechpartner.Aktiv = 1) AND (dbo.FirmaBeruf.Aktiv = 1) and (dbo.firma.id=4)</SQL>
|
||||
<SQLTYPE>SQL</SQLTYPE>
|
||||
<Filename>Firmendaten.frx</Filename>
|
||||
</Auswertungen>
|
||||
|
||||
|
||||
|
||||
<Auswertungen>
|
||||
<Bericht>Userliste</Bericht>
|
||||
<SQL>SELECT * FROM [BWPM].[dbo].[AspNetUsers]</SQL>
|
||||
<SQLTYPE>SQL</SQLTYPE>
|
||||
<Filename>Userliste.frx</Filename>
|
||||
</Auswertungen>
|
||||
|
||||
</LPReports>
|
||||
142
BlazorApp/Pages/Reporting/Reports/Firmendaten.frx
Normal file
142
BlazorApp/Pages/Reporting/Reports/Firmendaten.frx
Normal file
@@ -0,0 +1,142 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Report ScriptLanguage="Vb" ReportInfo.Created="07/19/2012 16:02:38" ReportInfo.Modified="07/29/2021 11:42:09" ReportInfo.CreatorVersion="2021.3.20.0">
|
||||
<ScriptText>Imports System
|
||||
Imports System.Collections
|
||||
Imports System.Collections.Generic
|
||||
Imports System.ComponentModel
|
||||
Imports System.Windows.Forms
|
||||
Imports System.Drawing
|
||||
Imports Microsoft.VisualBasic
|
||||
Imports FastReport
|
||||
Imports FastReport.Data
|
||||
Imports FastReport.Dialog
|
||||
Imports FastReport.Table
|
||||
Imports FastReport.Barcode
|
||||
Imports FastReport.Utils
|
||||
|
||||
Namespace FastReport
|
||||
Public Class ReportScript
|
||||
|
||||
|
||||
Private Sub Picture1_BeforePrint(ByVal sender As object, ByVal e As EventArgs)
|
||||
Picture1.ImageLocation= CType(Report.GetParameterValue("URL"), String)
|
||||
End Sub
|
||||
End Class
|
||||
End Namespace
|
||||
</ScriptText>
|
||||
<Dictionary>
|
||||
<TableDataSource Name="Daten" ReferenceName="Data.Daten" DataType="System.Int32" Enabled="true">
|
||||
<Column Name="NameZ1" DataType="System.String"/>
|
||||
<Column Name="NameZ2" DataType="System.String"/>
|
||||
<Column Name="Strasse" DataType="System.String"/>
|
||||
<Column Name="PLZ" DataType="System.String"/>
|
||||
<Column Name="Ort" DataType="System.String"/>
|
||||
<Column Name="Tel" DataType="System.String"/>
|
||||
<Column Name="Web" DataType="System.String"/>
|
||||
<Column Name="Bemerkung" DataType="System.String"/>
|
||||
<Column Name="Anrede" DataType="System.String"/>
|
||||
<Column Name="Ausbildungsstandort" DataType="System.String"/>
|
||||
<Column Name="Ausbildungsbemerkung" DataType="System.String"/>
|
||||
<Column Name="Bezeichnung" DataType="System.String"/>
|
||||
<Column Name="Anzahl" DataType="System.Int32"/>
|
||||
<Column Name="AName" DataType="System.String"/>
|
||||
<Column Name="AVorname" DataType="System.String"/>
|
||||
<Column Name="ATel" DataType="System.String"/>
|
||||
<Column Name="AMail" DataType="System.String"/>
|
||||
<Column Name="AAnrede" DataType="System.String"/>
|
||||
<Column Name="Klasse" DataType="System.String"/>
|
||||
<Column Name="Zeit" DataType="System.String"/>
|
||||
<Column Name="Schuelerbemerkung" DataType="System.String"/>
|
||||
<Column Name="Standortbemerkung" DataType="System.String"/>
|
||||
<Column Name="ID" DataType="System.Int32"/>
|
||||
<Column Name="handy" DataType="System.String"/>
|
||||
<Column Name="Mail" DataType="System.String"/>
|
||||
<Column Name="ansprechperson_name" DataType="System.String"/>
|
||||
<Column Name="ansprechperon_vorname" DataType="System.String"/>
|
||||
<Column Name="id1" DataType="System.Int32"/>
|
||||
<Column Name="mandantnr" DataType="System.Int32"/>
|
||||
</TableDataSource>
|
||||
<Parameter Name="Parcours" DataType="System.String"/>
|
||||
<Parameter Name="Spruch" DataType="System.String"/>
|
||||
<Parameter Name="URL" DataType="System.String"/>
|
||||
</Dictionary>
|
||||
<ReportPage Name="Page1" Landscape="true" PaperWidth="297" PaperHeight="210" RawPaperSize="9" Watermark.Font="Arial, 60pt">
|
||||
<ReportTitleBand Name="ReportTitle1" Width="1047.06" Height="245.7">
|
||||
<TextObject Name="Text32" Left="567" Top="9.45" Width="463.05" Height="18.9" Text="[Parcours]" HorzAlign="Right" Font="Arial, 12pt, style=Bold"/>
|
||||
<TextObject Name="Text33" Left="567" Top="37.8" Width="463.05" Height="18.9" Text="Firmendaten" HorzAlign="Right" Font="Arial, 12pt, style=Bold"/>
|
||||
<TextObject Name="Text1" Left="122.85" Top="94.5" Width="207.9" Height="18.9" Text="[Daten.NameZ1]" Font="Arial, 10pt"/>
|
||||
<TextObject Name="Text9" Left="18.9" Top="94.5" Width="103.95" Height="18.9" Text="Name Zeile 1:" Font="Arial, 10pt, style=Bold"/>
|
||||
<TextObject Name="Text40" Left="359.1" Top="94.5" Width="66.15" Height="18.9" Text="Telefon:" Font="Arial, 10pt, style=Bold"/>
|
||||
<TextObject Name="Text10" Left="434.7" Top="94.5" Width="141.75" Height="18.9" Text="[Daten.Tel]" Font="Arial, 10pt"/>
|
||||
<TextObject Name="Text2" Left="122.85" Top="113.4" Width="207.9" Height="18.9" Text="[Daten.NameZ2]" Font="Arial, 10pt"/>
|
||||
<TextObject Name="Text3" Left="122.85" Top="132.3" Width="207.9" Height="18.9" Text="[Daten.Anrede]" Font="Arial, 10pt"/>
|
||||
<TextObject Name="Text34" Left="18.9" Top="113.4" Width="103.95" Height="18.9" Text="Name Zeile 2:" Font="Arial, 10pt, style=Bold"/>
|
||||
<TextObject Name="Text35" Left="18.9" Top="132.3" Width="103.95" Height="18.9" Text="Anrede:" Font="Arial, 10pt, style=Bold"/>
|
||||
<TextObject Name="Text42" Left="359.1" Top="141.75" Width="66.15" Height="18.9" Text="Internet:" Font="Arial, 10pt, style=Bold"/>
|
||||
<TextObject Name="Text12" Left="434.7" Top="141.75" Width="245.7" Height="18.9" Text="[Daten.Web]" Font="Arial, 10pt"/>
|
||||
<TextObject Name="Text36" Left="18.9" Top="151.2" Width="103.95" Height="18.9" Text="Name:" Font="Arial, 10pt, style=Bold"/>
|
||||
<TextObject Name="Text43" Left="359.1" Top="160.65" Width="66.15" Height="18.9" Text="E-Mail:" Font="Arial, 10pt, style=Bold"/>
|
||||
<TextObject Name="Text13" Left="434.7" Top="160.65" Width="245.7" Height="18.9" Text="[Daten.Mail]" Font="Arial, 10pt"/>
|
||||
<TextObject Name="Text37" Left="18.9" Top="170.1" Width="103.95" Height="18.9" Text="Vorname:" Font="Arial, 10pt, style=Bold"/>
|
||||
<TextObject Name="Text6" Left="122.85" Top="189" Width="207.9" Height="18.9" Text="[Daten.Strasse]" Font="Arial, 10pt"/>
|
||||
<TextObject Name="Text38" Left="18.9" Top="189" Width="103.95" Height="18.9" Text="Strasse:" Font="Arial, 10pt, style=Bold"/>
|
||||
<TextObject Name="Text7" Left="122.85" Top="207.9" Width="47.25" Height="18.9" Text="[Daten.PLZ]" Font="Arial, 10pt"/>
|
||||
<TextObject Name="Text8" Left="170.1" Top="207.9" Width="132.3" Height="18.9" Text="[Daten.Ort]" Font="Arial, 10pt"/>
|
||||
<TextObject Name="Text39" Left="18.9" Top="207.9" Width="103.95" Height="18.9" Text="PLZ / Ort:" Font="Arial, 10pt, style=Bold"/>
|
||||
<PictureObject Name="Picture1" Left="9.45" Top="-18.9" Width="103.95" Height="85.05" BeforePrintEvent="Picture1_BeforePrint" Image=""/>
|
||||
<TextObject Name="Text55" Left="359.1" Top="113.4" Width="66.15" Height="18.9" Text="Natel:" Font="Arial, 10pt, style=Bold"/>
|
||||
<TextObject Name="Text28" Left="434.7" Top="113.4" Width="141.75" Height="18.9" Text="[Daten.handy]" Font="Arial, 10pt"/>
|
||||
<TextObject Name="Text58" Left="122.85" Top="151.2" Width="189" Height="18.9" Text="[Daten.ansprechperson_name]" Font="Arial, 10pt"/>
|
||||
<TextObject Name="Text59" Left="122.85" Top="170.1" Width="189" Height="18.9" Text="[Daten.ansprechperon_vorname]" Font="Arial, 10pt"/>
|
||||
<LineObject Name="Line5" Left="18.9" Top="75.6" Width="1011.15"/>
|
||||
<ChildBand Name="Child5" Top="249.7" Width="1047.06" Height="37.8" CanGrow="true">
|
||||
<TextObject Name="Text14" Left="18.9" Top="18.9" Width="1011.15" Height="18.9" CanGrow="true" Text="[Daten.Bemerkung]" Font="Arial, 10pt"/>
|
||||
<TextObject Name="Text44" Left="18.9" Width="311.85" Height="18.9" Text="Bemerkung für Organisatoren des BWP" Font="Arial, 10pt, style=Bold"/>
|
||||
<ChildBand Name="Child6" Top="291.5" Width="1047.06" Height="47.25" CanGrow="true">
|
||||
<TextObject Name="Text45" Left="18.9" Top="9.45" Width="529.2" Height="18.9" Text="Folgendes muss der Schüler mitbringen (spezielle Kleidung, Ausweis, usw.)" Font="Arial, 10pt, style=Bold"/>
|
||||
<TextObject Name="Text16" Left="18.9" Top="28.35" Width="1011.15" Height="18.9" CanGrow="true" Text="[Daten.Ausbildungsbemerkung]" Font="Arial, 10pt"/>
|
||||
<ChildBand Name="Child7" Top="342.75" Width="1047.06" Height="66.15" CanGrow="true">
|
||||
<TextObject Name="Text15" Left="18.9" Top="28.35" Width="1011.15" Height="18.9" CanGrow="true" Text="[Daten.Ausbildungsstandort]" Font="Arial, 10pt"/>
|
||||
<TextObject Name="Text46" Left="18.9" Top="9.45" Width="529.2" Height="18.9" Text="Treffpunkt für Schüler, falls abweichend zur Geschäftsadresse" Font="Arial, 10pt, style=Bold"/>
|
||||
<ChildBand Name="Child8" Top="412.9" Width="1047.06"/>
|
||||
</ChildBand>
|
||||
</ChildBand>
|
||||
</ChildBand>
|
||||
</ReportTitleBand>
|
||||
<PageHeaderBand Name="PageHeader1" Top="416.9" Width="1047.06"/>
|
||||
<GroupHeaderBand Name="GroupHeader1" Top="420.9" Width="1047.06" Height="113.4" KeepChild="true" KeepWithData="true" Condition="[Daten.id1]" KeepTogether="true">
|
||||
<ShapeObject Name="Shape1" Left="18.9" Width="1011.15" Height="75.6"/>
|
||||
<TextObject Name="Text19" Left="160.65" Top="9.45" Width="330.75" Height="18.9" Text="[Daten.AAnrede] [Daten.AName] [Daten.AVorname]" Font="Arial, 10pt"/>
|
||||
<TextObject Name="Text20" Left="160.65" Top="28.35" Width="217.35" Height="18.9" Text="[Daten.ATel]" Font="Arial, 10pt"/>
|
||||
<TextObject Name="Text47" Left="22.9" Top="28.35" Width="66.15" Height="18.9" Text="Telefon:" Font="Arial, 10pt, style=Bold"/>
|
||||
<TextObject Name="Text17" Left="22.9" Top="9.45" Width="132.3" Height="18.9" Text="Ansprechpartner:" Font="Arial, 10pt, style=Bold"/>
|
||||
<TextObject Name="Text48" Left="22.9" Top="47.25" Width="66.15" Height="18.9" Text="E-Mail:" Font="Arial, 10pt, style=Bold"/>
|
||||
<TextObject Name="Text21" Left="160.65" Top="47.25" Width="500.85" Height="18.9" CanGrow="true" Text="[Daten.AMail]" Font="Arial, 10pt"/>
|
||||
<TextObject Name="Text50" Left="463.05" Top="94.5" Width="113.4" Height="18.9" Text="Zeit" HorzAlign="Right" Font="Arial, 10pt, style=Bold"/>
|
||||
<TextObject Name="Text25" Left="349.65" Top="94.5" Width="85.05" Height="18.9" Text="Anz. Plätze" HorzAlign="Right" Font="Arial, 10pt, style=Bold"/>
|
||||
<TextObject Name="Text23" Left="255.15" Top="94.5" Width="66.15" Height="18.9" Text="Min.Anf." Font="Arial, 10pt, style=Bold"/>
|
||||
<TextObject Name="Text49" Left="18.9" Top="94.5" Width="94.5" Height="18.9" Text="Beruf" Font="Arial, 10pt, style=Bold"/>
|
||||
<LineObject Name="Line2" Left="18.9" Top="113.4" Width="1011.15"/>
|
||||
<TextObject Name="Text53" Left="585.9" Top="94.5" Width="179.55" Height="18.9" Text="Bemerkung für Schüler" Font="Arial, 10pt, style=Bold"/>
|
||||
<TextObject Name="Text54" Left="784.35" Top="94.5" Width="179.55" Height="18.9" Text="Bemerkung zum Standort" Font="Arial, 10pt, style=Bold"/>
|
||||
<DataBand Name="Data1" Top="538.3" Width="1047.06" Height="18.9" CanGrow="true" DataSource="Daten" KeepTogether="true">
|
||||
<TextObject Name="Text18" Left="18.9" Width="226.8" Height="18.9" CanGrow="true" Text="[Daten.Bezeichnung]" Font="Arial, 10pt"/>
|
||||
<TextObject Name="Text22" Left="255.15" Width="103.95" Height="18.9" Text="[Daten.Klasse]" Font="Arial, 10pt"/>
|
||||
<TextObject Name="Text26" Left="444.15" Width="132.3" Height="18.9" Text="[Daten.Zeit]" HorzAlign="Right" Font="Arial, 10pt"/>
|
||||
<TextObject Name="Text24" Left="378" Width="56.7" Height="18.9" Text="[Daten.Anzahl]" HorzAlign="Right" Font="Arial, 10pt"/>
|
||||
<TextObject Name="Text27" Left="585.9" Width="189" Height="18.9" CanGrow="true" Text="[Daten.Schuelerbemerkung]" Font="Arial, 10pt"/>
|
||||
<TextObject Name="Text29" Left="784.35" Width="245.7" Height="18.9" CanGrow="true" Text="[Daten.Standortbemerkung]" Font="Arial, 10pt"/>
|
||||
<Sort>
|
||||
<Sort Expression="[Daten.Zeit]"/>
|
||||
<Sort Expression="[Daten.Bezeichnung]"/>
|
||||
</Sort>
|
||||
</DataBand>
|
||||
<GroupFooterBand Name="GroupFooter1" Top="561.2" Width="1047.06" Height="18.9"/>
|
||||
</GroupHeaderBand>
|
||||
<PageFooterBand Name="PageFooter1" Top="584.1" Width="1047.06" Height="28.35">
|
||||
<TextObject Name="Text51" Left="963.9" Top="9.45" Width="66.15" Height="18.9" Text="[Page#]" HorzAlign="Right" Font="Arial, 10pt"/>
|
||||
<TextObject Name="Text52" Left="18.9" Top="9.45" Width="94.5" Height="18.9" Text="[Date]" Format="Date" Format.Format="d" Font="Arial, 10pt"/>
|
||||
<LineObject Name="Line4" Left="18.9" Top="9.45" Width="1011.15"/>
|
||||
</PageFooterBand>
|
||||
</ReportPage>
|
||||
</Report>
|
||||
45
BlazorApp/Pages/Reporting/Reports/userliste.frx
Normal file
45
BlazorApp/Pages/Reporting/Reports/userliste.frx
Normal file
@@ -0,0 +1,45 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Report ScriptLanguage="CSharp" ReportInfo.Created="07/24/2021 10:48:45" ReportInfo.Modified="07/24/2021 10:49:35" ReportInfo.CreatorVersion="2021.3.17.0">
|
||||
<Styles Name="Standard">
|
||||
<Style Name="Title" Font="Arial, 12pt, style=Bold"/>
|
||||
<Style Name="Header" Font="Arial, 10pt, style=Bold"/>
|
||||
<Style Name="Group" Font="Arial, 10pt, style=Bold"/>
|
||||
<Style Name="Data" Font="Arial, 10pt"/>
|
||||
<Style Name="Footer" Font="Arial, 10pt"/>
|
||||
<Style Name="EvenRows" Fill.Color="WhiteSmoke" Font="Arial, 10pt"/>
|
||||
</Styles>
|
||||
<Dictionary>
|
||||
<TableDataSource Name="Daten" ReferenceName="Data.Daten" DataType="System.Int32" Enabled="true">
|
||||
<Column Name="Id" DataType="System.String"/>
|
||||
<Column Name="UserName" DataType="System.String"/>
|
||||
<Column Name="NormalizedUserName" DataType="System.String"/>
|
||||
<Column Name="Email" DataType="System.String"/>
|
||||
<Column Name="NormalizedEmail" DataType="System.String"/>
|
||||
<Column Name="EmailConfirmed" DataType="System.Boolean" BindableControl="CheckBox"/>
|
||||
<Column Name="PasswordHash" DataType="System.String"/>
|
||||
<Column Name="SecurityStamp" DataType="System.String"/>
|
||||
<Column Name="ConcurrencyStamp" DataType="System.String"/>
|
||||
<Column Name="PhoneNumber" DataType="System.String"/>
|
||||
<Column Name="PhoneNumberConfirmed" DataType="System.Boolean" BindableControl="CheckBox"/>
|
||||
<Column Name="TwoFactorEnabled" DataType="System.Boolean" BindableControl="CheckBox"/>
|
||||
<Column Name="LockoutEnd" DataType="System.DateTimeOffset"/>
|
||||
<Column Name="LockoutEnabled" DataType="System.Boolean" BindableControl="CheckBox"/>
|
||||
<Column Name="AccessFailedCount" DataType="System.Int32"/>
|
||||
<Column Name="LockoutEndDateUtc" DataType="System.DateTimeOffset"/>
|
||||
</TableDataSource>
|
||||
</Dictionary>
|
||||
<ReportPage Name="Page1" Watermark.Font="Arial, 60pt">
|
||||
<ReportTitleBand Name="ReportTitle1" Width="718.2" Height="37.8">
|
||||
<TextObject Name="Text1" Width="718.2" Height="37.8" Dock="Fill" Text="Daten" HorzAlign="Center" VertAlign="Center" Font="Arial, 12pt, style=Bold" Style="Title"/>
|
||||
</ReportTitleBand>
|
||||
<PageHeaderBand Name="PageHeader1" Top="41.8" Width="718.2" Height="28.35">
|
||||
<TextObject Name="Text2" Left="18.9" Width="94.5" Height="18.9" Text="UserName" Font="Arial, 10pt"/>
|
||||
</PageHeaderBand>
|
||||
<DataBand Name="Data1" Top="74.15" Width="718.2" Height="56.7" EvenStyle="EvenRows" DataSource="Daten">
|
||||
<TextObject Name="Text35" Left="18.9" Top="9.45" Width="94.5" Height="18.9" Text="[Daten.UserName]" Font="Arial, 10pt"/>
|
||||
</DataBand>
|
||||
<PageFooterBand Name="PageFooter1" Top="134.85" Width="718.2" Height="75.6">
|
||||
<TextObject Name="Text34" Width="718.2" Height="75.6" Dock="Fill" Text="[PageN]" HorzAlign="Right" Font="Arial, 10pt" Style="Footer"/>
|
||||
</PageFooterBand>
|
||||
</ReportPage>
|
||||
</Report>
|
||||
43
BlazorApp/Pages/ShowConfig.razor
Normal file
43
BlazorApp/Pages/ShowConfig.razor
Normal file
@@ -0,0 +1,43 @@
|
||||
@page "/showconfig"
|
||||
@using BlazorApp.Helper
|
||||
@using System.IO;
|
||||
|
||||
<h3>ShowConfig</h3>
|
||||
|
||||
<button @onclick="ShowConfiguration">Config</button>
|
||||
<br />
|
||||
<label>Autologin: @alogin</label><br />
|
||||
<label>Connectionstring: @connstring</label><br />
|
||||
<label>Directory: @mydir</label><br />
|
||||
<br />
|
||||
<input placeholder="Enter your text" @bind-value="@pathi" />
|
||||
<button @onclick="@UpdateFilelist">Refresh</button>
|
||||
<br />
|
||||
<label>Files: @filelist</label>
|
||||
|
||||
<hr />
|
||||
|
||||
@code {
|
||||
public string alogin { get; set; } = "";
|
||||
public string connstring { get; set; } = "";
|
||||
public string mydir { get; set; } = "";
|
||||
public string filelist { get; set; } = "";
|
||||
public string pathi { get; set; } = "";
|
||||
private void ShowConfiguration()
|
||||
{
|
||||
Helper.ParameterHelper ph = new Helper.ParameterHelper();
|
||||
alogin = ph.GetParameter("autologin");
|
||||
connstring = ph.GetConnString("BlazorAppContextConnection");
|
||||
mydir = AppContext.BaseDirectory;
|
||||
|
||||
|
||||
}
|
||||
private void UpdateFilelist()
|
||||
{
|
||||
filelist = "";
|
||||
string [] fileEntries = Directory.GetFiles(pathi);
|
||||
foreach (string fileName in fileEntries)
|
||||
filelist = filelist + ", " + fileName;
|
||||
}
|
||||
|
||||
}
|
||||
346
BlazorApp/Pages/Teacher/Teacher.razor
Normal file
346
BlazorApp/Pages/Teacher/Teacher.razor
Normal file
@@ -0,0 +1,346 @@
|
||||
@page "/Teacher/TeacherContact"
|
||||
@inject Blazored.SessionStorage.ISessionStorageService sessionStorage
|
||||
@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;
|
||||
|
||||
<div class="control-section e-tab-section">
|
||||
|
||||
<EditForm Model="_lehrer" OnValidSubmit="@Submit" OnInvalidSubmit="@InvalidSubmit">
|
||||
<div class="card">
|
||||
|
||||
<div class="card-body">
|
||||
<SfButton IsPrimary="true" OnClick="@(() => SaveClick())">Speichern</SfButton>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<DataAnnotationsValidator />
|
||||
<SfTab ID="BlazorTab" Height="390">
|
||||
<TabItems>
|
||||
<TabItem>
|
||||
<ChildContent>
|
||||
<TabHeader Text="Kontakt-Daten"></TabHeader>
|
||||
</ChildContent>
|
||||
<ContentTemplate>
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Adress-Daten</h5>
|
||||
<form>
|
||||
<div class="form-group row">
|
||||
<label for="Anrede" class="col-2 col-form-label">Anrede</label>
|
||||
<div class="col-10">
|
||||
<select id="Anrede" name="Anrede" class="form-control" @bind="@_lehrer.anredeID">
|
||||
<option value="1">Herr</option>
|
||||
<option value="2">Frau</option>
|
||||
<option value="3">Damen und Herren</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="nameZ1" class="col-2 col-form-label">Name</label>
|
||||
<div class="col-10">
|
||||
<InputText id="namez1" class="form-control" @bind-Value="_lehrer.name" placeholder="Nachname" />
|
||||
<ValidationMessage For="@(() => _lehrer.name)" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="nameZ2" class="col-2 col-form-label">Zusatz</label>
|
||||
<div class="col-10">
|
||||
<InputText id="nameZ2" class="form-control" @bind-Value="@_lehrer.vorname" placeholder="vorname" />
|
||||
<ValidationMessage For="@(() => _lehrer.vorname)" />
|
||||
</div>
|
||||
</div>
|
||||
<hr />
|
||||
<div class="form-group row">
|
||||
<label for="telefon" class="col-2 col-form-label">Telefon</label>
|
||||
<div class="col-10">
|
||||
<InputText id="tel" class="form-control" @bind-Value="@_lehrer.tel" placeholder="Telefon-Nummer" />
|
||||
<ValidationMessage For="@(() => _lehrer.tel)" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="handy" class="col-2 col-form-label">Mobile</label>
|
||||
<div class="col-10">
|
||||
<InputText id="handy" class="form-control" @bind-Value="@_lehrer.handy" placeholder="Mobile-Nummer" />
|
||||
<ValidationMessage For="@(() => _lehrer.handy)" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="email" class="col-2 col-form-label">E-Mail</label>
|
||||
<div class="col-10">
|
||||
<InputText id="mail" class="form-control" @bind-Value="@_lehrer.email" placeholder="E-Mail" required="required" typeof="email" />
|
||||
<ValidationMessage For="@(() => _lehrer.email)" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="Schulhaus" class="col-2 col-form-label">Schulhaus</label>
|
||||
<div class="col-10">
|
||||
<select id="Schulhaus" name="Schulhaus" class="form-control" @bind="@_lehrer.schulhausID">
|
||||
@foreach (var sh in _schulhaus)
|
||||
{
|
||||
<option value="@sh.ID">@sh.bezeichnung</option>
|
||||
}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Klassen und Klassengrösse</h5>
|
||||
<div class="col-lg-12 control-section">
|
||||
<div class="content-wrapper">
|
||||
<div class="row">
|
||||
<SfGrid DataSource="@GridData" @ref="Grid" AllowPaging="true" AllowSorting="true" Toolbar="@(new List<string>() { "Add", "Edit", "Update", "Cancel" })">
|
||||
<GridPageSettings PageCount="5" PageSizes="true"></GridPageSettings>
|
||||
<GridEditSettings AllowAdding="true" AllowDeleting="false" AllowEditing="true" Mode="EditMode.Dialog"></GridEditSettings>
|
||||
<GridEvents OnActionBegin="OnBeginHandler" OnActionComplete="OnCompletedHandler" TValue="Klasse" OnDataBound="RowDataBoundHandler"></GridEvents>
|
||||
<GridColumns>
|
||||
<GridColumn Type="ColumnType.CheckBox" AllowFiltering="false" AllowSorting="false" Width="60"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(Klasse.ID) HeaderText="Id" IsPrimaryKey="true" AllowAdding="false" Width="60" Visible="true"></GridColumn>
|
||||
<GridForeignColumn Field=@nameof(Klasse.schulhausID) HeaderText="Schulhaus" ForeignKeyValue="bezeichnung" ForeignKeyField="ID" ForeignDataSource="@_schulhaus" Width="150"></GridForeignColumn>
|
||||
@*<GridColumn Field=@nameof(Klasse.schulhausID) HeaderText="Schulhausid" Width="100" Visible="true"></GridColumn>*@
|
||||
|
||||
<GridColumn Field=@nameof(Klasse.bezeichnung) HeaderText="Bezeichnung" Width="100" Visible="true"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(Klasse.klassengroesse) HeaderText="Klassengrösse" Width="100" Visible="true"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(Klasse.aktiv) HeaderText="Aktiv" Width="100" Visible="false" DisplayAsCheckBox="true"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(Klasse.erstellt_am) HeaderText="Erstellt_am" Width="100" Visible="false" Format="d" Type="ColumnType.Date"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(Klasse.mutiert_am) HeaderText="Mutiert_am" Width="100" Visible="false" Format="d" Type="ColumnType.Date"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(Klasse.mutierer) HeaderText="Mutierer" Width="100" Visible="false"></GridColumn>
|
||||
|
||||
|
||||
<GridColumn Field=@nameof(Klasse.lehrerID) HeaderText="Lehrerid" Width="100" Visible="false"></GridColumn>
|
||||
|
||||
<GridColumn Field=@nameof(Klasse.mandantnr) HeaderText="Mandantnr" Width="100" Visible="false"></GridColumn>
|
||||
</GridColumns>
|
||||
</SfGrid>
|
||||
|
||||
<form>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
|
||||
</TabItem>
|
||||
</TabItems>
|
||||
</SfTab>
|
||||
|
||||
|
||||
</EditForm>
|
||||
</div>
|
||||
<SfDialog Width="250px" IsModal="true" @bind-Visible="@ShowErrorDialog">
|
||||
<DialogTemplates>
|
||||
<Header> Formmular unvollständig </Header>
|
||||
<Content> Bitte das Formular vollständig ausfüllen. </Content>
|
||||
|
||||
</DialogTemplates>
|
||||
<DialogButtons>
|
||||
<DialogButton Content="OK" IsPrimary="true" OnClick="@CloseDialog" />
|
||||
</DialogButtons>
|
||||
</SfDialog>
|
||||
<SfDialog Width="250px" IsModal="true" @bind-Visible="@ShowErrorDialog_grid">
|
||||
<DialogTemplates>
|
||||
<Header> Formmular unvollständig </Header>
|
||||
<Content> Bitte das Formular vollständig ausfüllen. </Content>
|
||||
|
||||
</DialogTemplates>
|
||||
<DialogButtons>
|
||||
<DialogButton Content="OK" IsPrimary="true" OnClick="@CloseDialog" />
|
||||
</DialogButtons>
|
||||
</SfDialog>
|
||||
|
||||
@code {
|
||||
SfGrid<Klasse> Grid { get; set; }
|
||||
public int Value = 0;
|
||||
public List<BWPMModels.Klasse> GridData { get; set; }
|
||||
public List<BWPMModels.Klasse> Klasses { get; set; }
|
||||
public int foundrow = 0;
|
||||
public bool ContinuePaging = true;
|
||||
public bool InitialRender { get; set; }
|
||||
|
||||
private List<BWPMModels.Schulhaus> _schulhaus { get; set; } = BlazorApp.Controller.SchulhausController.GetAllData();
|
||||
private Lehrer _lehrer { get; set; } = new BWPMModels.Lehrer();
|
||||
public List<BWPMModels.Lehrer> Lehrerdaten { get; set; }
|
||||
string userid = "";
|
||||
public static int? pkey { get; set; }
|
||||
public bool Initial { get; set; } = true;
|
||||
private bool ShowErrorDialog { get; set; } = false;
|
||||
private bool ShowErrorDialog_grid { get; set; } = false;
|
||||
|
||||
public void Submit()
|
||||
{
|
||||
BlazorApp.Controller.LehrerController.PUT(_lehrer);
|
||||
}
|
||||
public void InvalidSubmit()
|
||||
{
|
||||
ShowErrorDialog = true;
|
||||
}
|
||||
private void CloseDialog()
|
||||
{
|
||||
this.ShowErrorDialog = false;
|
||||
}
|
||||
|
||||
private void SaveClick()
|
||||
{
|
||||
}
|
||||
|
||||
protected override async void OnInitialized()
|
||||
{
|
||||
|
||||
}
|
||||
protected override async Task OnAfterRenderAsync(bool firstRender)
|
||||
{
|
||||
|
||||
userid = await sessionStorage.GetItemAsync<string>("UserID");
|
||||
if (userid == null)
|
||||
{
|
||||
var authState = await authenticationStateTask;
|
||||
var userId = authState.User.Claims.FirstOrDefault().Value;
|
||||
var user = authState.User;
|
||||
|
||||
if (user.Identity.IsAuthenticated)
|
||||
|
||||
{
|
||||
await sessionStorage.SetItemAsync("UserID", userId);
|
||||
userid = userId;
|
||||
}
|
||||
else
|
||||
{
|
||||
await sessionStorage.SetItemAsync("UserID", userId);
|
||||
userid = userId;
|
||||
}
|
||||
}
|
||||
if (firstRender)
|
||||
{
|
||||
Lehrerdaten = BlazorApp.Controller.LehrerController.GetByUserID(userid);
|
||||
_lehrer = Lehrerdaten.First<BWPMModels.Lehrer>();
|
||||
GridData = BlazorApp.Controller.KlasseController.GetByLehrerID(_lehrer.ID);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private async Task OnBeginHandler(ActionEventArgs<BWPMModels.Klasse> Args)
|
||||
|
||||
{
|
||||
try{
|
||||
if (_lehrer.ID==0)
|
||||
{ShowErrorDialog_grid=true
|
||||
return}
|
||||
}
|
||||
catch
|
||||
{ ShowErrorDialog_grid=true
|
||||
return}
|
||||
if (Args.RequestType == Syncfusion.Blazor.Grids.Action.Save)
|
||||
{
|
||||
if (Args.Action == "Add")
|
||||
{
|
||||
Args.Data.lehrerID = _lehrer.ID;
|
||||
Args.Data.erstellt_am = DateTime.Now;
|
||||
Args.Data.mutierer = userid;
|
||||
Args.Data.mutiert_am = DateTime.Now;
|
||||
Args.Data.aktiv = true;
|
||||
Args.Data.ID = BlazorApp.Controller.KlasseController.POST(Args.Data);
|
||||
Value = Args.Data.ID;
|
||||
}
|
||||
else
|
||||
{
|
||||
Args.Data.mutierer = userid.ToString();
|
||||
Args.Data.mutiert_am = DateTime.Now;
|
||||
BlazorApp.Controller.KlasseController.PUT(Args.Data);
|
||||
|
||||
Value = Args.Data.ID;
|
||||
Grid.Refresh();
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public async Task OnCompletedHandler(ActionEventArgs<BWPMModels.Klasse> Args)
|
||||
|
||||
{
|
||||
if (Args.RequestType == Syncfusion.Blazor.Grids.Action.Save)
|
||||
{
|
||||
await Grid.SetRowData(Args.Data.ID, Args.Data);
|
||||
double xx = 0;
|
||||
Value = Args.Data.ID;
|
||||
xx = await DataHandler();
|
||||
await Grid.SelectRow(xx);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public async void RowDataBoundHandler(BeforeDataBoundArgs<BWPMModels.Klasse> args)
|
||||
{
|
||||
if (!Initial)
|
||||
{
|
||||
//await Task.Delay(100);
|
||||
//var Idx = await this.Grid.GetRowIndexByPrimaryKey(Convert.ToDouble(Value)); //get index value
|
||||
//this.Grid.SelectRow(Convert.ToDouble(Idx));
|
||||
}
|
||||
Initial = false;
|
||||
}
|
||||
|
||||
|
||||
public async Task<double> DataHandler()
|
||||
{
|
||||
var PageCount = (GridData.Count / Grid.PageSettings.PageSize) + 1;
|
||||
ContinuePaging = true;
|
||||
var CurrentPage = 1;
|
||||
Grid.Refresh();
|
||||
await Grid.GoToPage(1);
|
||||
|
||||
for (int i = 1; i <= PageCount; i++)
|
||||
|
||||
{
|
||||
List<Klasse> Rows = await Grid.GetCurrentViewRecords(); // returns the current view data
|
||||
for (int j = 0; j < Grid.PageSettings.PageSize; j++)
|
||||
{
|
||||
if (j < Rows.Count && Rows[j].ID == Value)
|
||||
{
|
||||
foundrow = j;
|
||||
|
||||
ContinuePaging = false; // prevent the default navigation
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (ContinuePaging)
|
||||
{
|
||||
if (i >= PageCount)
|
||||
{
|
||||
i = 0;
|
||||
}
|
||||
await Grid.GoToPage(i + 1);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
return foundrow;
|
||||
}
|
||||
}
|
||||
return foundrow;
|
||||
}
|
||||
}
|
||||
@@ -23,7 +23,9 @@
|
||||
<body>
|
||||
<script src="_content/Radzen.Blazor/Radzen.Blazor.js"></script>
|
||||
<app>
|
||||
<component type="typeof(App)" render-mode="ServerPrerendered" />
|
||||
<component type="typeof(App)" render-mode="Server" />
|
||||
@*<component type="typeof(App)" render-mode="ServerPrerendered" />*@
|
||||
|
||||
</app>
|
||||
|
||||
<div id="blazor-error-ui">
|
||||
|
||||
20
BlazorApp/Properties/PublishProfiles/FolderProfile.pubxml
Normal file
20
BlazorApp/Properties/PublishProfiles/FolderProfile.pubxml
Normal file
@@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||
-->
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<DeleteExistingFiles>False</DeleteExistingFiles>
|
||||
<ExcludeApp_Data>False</ExcludeApp_Data>
|
||||
<LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
|
||||
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
|
||||
<LastUsedPlatform>Any CPU</LastUsedPlatform>
|
||||
<PublishProvider>FileSystem</PublishProvider>
|
||||
<PublishUrl>\\192.168.111.111\web\dotnetcore\blazorapp</PublishUrl>
|
||||
<WebPublishMethod>FileSystem</WebPublishMethod>
|
||||
<SiteUrlToLaunchAfterPublish />
|
||||
<TargetFramework>netcoreapp3.1</TargetFramework>
|
||||
<ProjectGuid>649400f9-4953-4ae8-acca-c497fef91c39</ProjectGuid>
|
||||
<SelfContained>false</SelfContained>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||
-->
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<_PublishTargetUrl>\\192.168.111.111\web\dotnetcore\blazorapp</_PublishTargetUrl>
|
||||
<History>True|2021-08-04T11:40:45.9365003Z;True|2021-08-04T12:50:34.3278165+02:00;True|2021-08-04T09:10:42.6301597+02:00;True|2021-08-04T09:03:43.2843398+02:00;True|2021-08-04T08:42:04.0809876+02:00;True|2021-08-04T08:31:43.5861029+02:00;True|2021-08-04T08:26:44.6244276+02:00;True|2021-08-03T10:47:55.0601300+02:00;True|2021-08-02T13:02:35.6235887+02:00;True|2021-08-02T12:58:13.4350136+02:00;</History>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@@ -18,10 +18,17 @@
|
||||
"BlazorApp": {
|
||||
"commandName": "Project",
|
||||
"launchBrowser": true,
|
||||
"applicationUrl": "https://localhost:5001;http://localhost:5000",
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
}
|
||||
},
|
||||
"applicationUrl": "https://localhost:5001;http://localhost:5000"
|
||||
},
|
||||
"Docker": {
|
||||
"commandName": "Docker",
|
||||
"launchBrowser": true,
|
||||
"launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}",
|
||||
"publishAllPorts": true,
|
||||
"useSSL": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
31
BlazorApp/Reports/Auswertungen.xml
Normal file
31
BlazorApp/Reports/Auswertungen.xml
Normal file
@@ -0,0 +1,31 @@
|
||||
<?xml version="1.0" standalone="yes"?>
|
||||
<LPReports>
|
||||
<Auswertungen>
|
||||
<Bericht>Firmendaten</Bericht>
|
||||
<SQL> SELECT dbo.Firma.ID, dbo.Firma.NameZ1, dbo.Firma.NameZ2, dbo.Firma.Strasse, dbo.Firma.PLZ, dbo.Firma.Ort, dbo.Firma.Tel, dbo.Firma.handy, dbo.Firma.Web, dbo.Firma.Mail,
|
||||
dbo.Firma.Bemerkung, dbo.Firma.Anrede, dbo.Firma.Ausbildungsstandort, dbo.Firma.Ausbildungsbemerkung, dbo.Firma.ansprechperson_name, dbo.Firma.ansprechperon_vorname, dbo.Ansprechpartner.id,
|
||||
dbo.Ansprechpartner.Name AS AName, dbo.Ansprechpartner.Vorname AS AVorname, dbo.Ansprechpartner.Tel AS ATel, dbo.Ansprechpartner.EMail AS AMail, dbo.Ansprechpartner.Anrede AS AAnrede, dbo.Beruf.Bezeichnung,
|
||||
dbo.KlassenTyp.bezeichnung AS Klasse, dbo.Zeiten.Bezeichnung AS Zeit, dbo.FirmaBeruf.Anzahl, dbo.FirmaBeruf.Schuelerbemerkung, dbo.FirmaBeruf.Standortbemerkung
|
||||
,dbo.Firma.mandantnr
|
||||
FROM dbo.Beruf INNER JOIN
|
||||
dbo.FirmaBeruf ON dbo.Beruf.id = dbo.FirmaBeruf.Berufid INNER JOIN
|
||||
dbo.Zeiten ON dbo.FirmaBeruf.Zeitid = dbo.Zeiten.id INNER JOIN
|
||||
dbo.Firma INNER JOIN
|
||||
dbo.Ansprechpartner ON dbo.Firma.ID = dbo.Ansprechpartner.FirmaID ON dbo.FirmaBeruf.Ansprechpartnerid = dbo.Ansprechpartner.id INNER JOIN
|
||||
dbo.KlassenTyp ON dbo.FirmaBeruf.KlassetypID = dbo.klassentyp.id
|
||||
|
||||
WHERE (dbo.Ansprechpartner.Aktiv = 1) AND (dbo.FirmaBeruf.Aktiv = 1) and (dbo.firma.id=4)</SQL>
|
||||
<SQLTYPE>SQL</SQLTYPE>
|
||||
<Filename>Firmendaten.frx</Filename>
|
||||
</Auswertungen>
|
||||
|
||||
|
||||
|
||||
<Auswertungen>
|
||||
<Bericht>Userliste</Bericht>
|
||||
<SQL>SELECT * FROM [BWPM].[dbo].[AspNetUsers]</SQL>
|
||||
<SQLTYPE>SQL</SQLTYPE>
|
||||
<Filename>Userliste.frx</Filename>
|
||||
</Auswertungen>
|
||||
|
||||
</LPReports>
|
||||
142
BlazorApp/Reports/Firmendaten.frx
Normal file
142
BlazorApp/Reports/Firmendaten.frx
Normal file
@@ -0,0 +1,142 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Report ScriptLanguage="Vb" ReportInfo.Created="07/19/2012 16:02:38" ReportInfo.Modified="07/29/2021 11:42:09" ReportInfo.CreatorVersion="2021.3.20.0">
|
||||
<ScriptText>Imports System
|
||||
Imports System.Collections
|
||||
Imports System.Collections.Generic
|
||||
Imports System.ComponentModel
|
||||
Imports System.Windows.Forms
|
||||
Imports System.Drawing
|
||||
Imports Microsoft.VisualBasic
|
||||
Imports FastReport
|
||||
Imports FastReport.Data
|
||||
Imports FastReport.Dialog
|
||||
Imports FastReport.Table
|
||||
Imports FastReport.Barcode
|
||||
Imports FastReport.Utils
|
||||
|
||||
Namespace FastReport
|
||||
Public Class ReportScript
|
||||
|
||||
|
||||
Private Sub Picture1_BeforePrint(ByVal sender As object, ByVal e As EventArgs)
|
||||
Picture1.ImageLocation= CType(Report.GetParameterValue("URL"), String)
|
||||
End Sub
|
||||
End Class
|
||||
End Namespace
|
||||
</ScriptText>
|
||||
<Dictionary>
|
||||
<TableDataSource Name="Daten" ReferenceName="Data.Daten" DataType="System.Int32" Enabled="true">
|
||||
<Column Name="NameZ1" DataType="System.String"/>
|
||||
<Column Name="NameZ2" DataType="System.String"/>
|
||||
<Column Name="Strasse" DataType="System.String"/>
|
||||
<Column Name="PLZ" DataType="System.String"/>
|
||||
<Column Name="Ort" DataType="System.String"/>
|
||||
<Column Name="Tel" DataType="System.String"/>
|
||||
<Column Name="Web" DataType="System.String"/>
|
||||
<Column Name="Bemerkung" DataType="System.String"/>
|
||||
<Column Name="Anrede" DataType="System.String"/>
|
||||
<Column Name="Ausbildungsstandort" DataType="System.String"/>
|
||||
<Column Name="Ausbildungsbemerkung" DataType="System.String"/>
|
||||
<Column Name="Bezeichnung" DataType="System.String"/>
|
||||
<Column Name="Anzahl" DataType="System.Int32"/>
|
||||
<Column Name="AName" DataType="System.String"/>
|
||||
<Column Name="AVorname" DataType="System.String"/>
|
||||
<Column Name="ATel" DataType="System.String"/>
|
||||
<Column Name="AMail" DataType="System.String"/>
|
||||
<Column Name="AAnrede" DataType="System.String"/>
|
||||
<Column Name="Klasse" DataType="System.String"/>
|
||||
<Column Name="Zeit" DataType="System.String"/>
|
||||
<Column Name="Schuelerbemerkung" DataType="System.String"/>
|
||||
<Column Name="Standortbemerkung" DataType="System.String"/>
|
||||
<Column Name="ID" DataType="System.Int32"/>
|
||||
<Column Name="handy" DataType="System.String"/>
|
||||
<Column Name="Mail" DataType="System.String"/>
|
||||
<Column Name="ansprechperson_name" DataType="System.String"/>
|
||||
<Column Name="ansprechperon_vorname" DataType="System.String"/>
|
||||
<Column Name="id1" DataType="System.Int32"/>
|
||||
<Column Name="mandantnr" DataType="System.Int32"/>
|
||||
</TableDataSource>
|
||||
<Parameter Name="Parcours" DataType="System.String"/>
|
||||
<Parameter Name="Spruch" DataType="System.String"/>
|
||||
<Parameter Name="URL" DataType="System.String"/>
|
||||
</Dictionary>
|
||||
<ReportPage Name="Page1" Landscape="true" PaperWidth="297" PaperHeight="210" RawPaperSize="9" Watermark.Font="Arial, 60pt">
|
||||
<ReportTitleBand Name="ReportTitle1" Width="1047.06" Height="245.7">
|
||||
<TextObject Name="Text32" Left="567" Top="9.45" Width="463.05" Height="18.9" Text="[Parcours]" HorzAlign="Right" Font="Arial, 12pt, style=Bold"/>
|
||||
<TextObject Name="Text33" Left="567" Top="37.8" Width="463.05" Height="18.9" Text="Firmendaten" HorzAlign="Right" Font="Arial, 12pt, style=Bold"/>
|
||||
<TextObject Name="Text1" Left="122.85" Top="94.5" Width="207.9" Height="18.9" Text="[Daten.NameZ1]" Font="Arial, 10pt"/>
|
||||
<TextObject Name="Text9" Left="18.9" Top="94.5" Width="103.95" Height="18.9" Text="Name Zeile 1:" Font="Arial, 10pt, style=Bold"/>
|
||||
<TextObject Name="Text40" Left="359.1" Top="94.5" Width="66.15" Height="18.9" Text="Telefon:" Font="Arial, 10pt, style=Bold"/>
|
||||
<TextObject Name="Text10" Left="434.7" Top="94.5" Width="141.75" Height="18.9" Text="[Daten.Tel]" Font="Arial, 10pt"/>
|
||||
<TextObject Name="Text2" Left="122.85" Top="113.4" Width="207.9" Height="18.9" Text="[Daten.NameZ2]" Font="Arial, 10pt"/>
|
||||
<TextObject Name="Text3" Left="122.85" Top="132.3" Width="207.9" Height="18.9" Text="[Daten.Anrede]" Font="Arial, 10pt"/>
|
||||
<TextObject Name="Text34" Left="18.9" Top="113.4" Width="103.95" Height="18.9" Text="Name Zeile 2:" Font="Arial, 10pt, style=Bold"/>
|
||||
<TextObject Name="Text35" Left="18.9" Top="132.3" Width="103.95" Height="18.9" Text="Anrede:" Font="Arial, 10pt, style=Bold"/>
|
||||
<TextObject Name="Text42" Left="359.1" Top="141.75" Width="66.15" Height="18.9" Text="Internet:" Font="Arial, 10pt, style=Bold"/>
|
||||
<TextObject Name="Text12" Left="434.7" Top="141.75" Width="245.7" Height="18.9" Text="[Daten.Web]" Font="Arial, 10pt"/>
|
||||
<TextObject Name="Text36" Left="18.9" Top="151.2" Width="103.95" Height="18.9" Text="Name:" Font="Arial, 10pt, style=Bold"/>
|
||||
<TextObject Name="Text43" Left="359.1" Top="160.65" Width="66.15" Height="18.9" Text="E-Mail:" Font="Arial, 10pt, style=Bold"/>
|
||||
<TextObject Name="Text13" Left="434.7" Top="160.65" Width="245.7" Height="18.9" Text="[Daten.Mail]" Font="Arial, 10pt"/>
|
||||
<TextObject Name="Text37" Left="18.9" Top="170.1" Width="103.95" Height="18.9" Text="Vorname:" Font="Arial, 10pt, style=Bold"/>
|
||||
<TextObject Name="Text6" Left="122.85" Top="189" Width="207.9" Height="18.9" Text="[Daten.Strasse]" Font="Arial, 10pt"/>
|
||||
<TextObject Name="Text38" Left="18.9" Top="189" Width="103.95" Height="18.9" Text="Strasse:" Font="Arial, 10pt, style=Bold"/>
|
||||
<TextObject Name="Text7" Left="122.85" Top="207.9" Width="47.25" Height="18.9" Text="[Daten.PLZ]" Font="Arial, 10pt"/>
|
||||
<TextObject Name="Text8" Left="170.1" Top="207.9" Width="132.3" Height="18.9" Text="[Daten.Ort]" Font="Arial, 10pt"/>
|
||||
<TextObject Name="Text39" Left="18.9" Top="207.9" Width="103.95" Height="18.9" Text="PLZ / Ort:" Font="Arial, 10pt, style=Bold"/>
|
||||
<PictureObject Name="Picture1" Left="9.45" Top="-18.9" Width="103.95" Height="85.05" BeforePrintEvent="Picture1_BeforePrint" Image=""/>
|
||||
<TextObject Name="Text55" Left="359.1" Top="113.4" Width="66.15" Height="18.9" Text="Natel:" Font="Arial, 10pt, style=Bold"/>
|
||||
<TextObject Name="Text28" Left="434.7" Top="113.4" Width="141.75" Height="18.9" Text="[Daten.handy]" Font="Arial, 10pt"/>
|
||||
<TextObject Name="Text58" Left="122.85" Top="151.2" Width="189" Height="18.9" Text="[Daten.ansprechperson_name]" Font="Arial, 10pt"/>
|
||||
<TextObject Name="Text59" Left="122.85" Top="170.1" Width="189" Height="18.9" Text="[Daten.ansprechperon_vorname]" Font="Arial, 10pt"/>
|
||||
<LineObject Name="Line5" Left="18.9" Top="75.6" Width="1011.15"/>
|
||||
<ChildBand Name="Child5" Top="249.7" Width="1047.06" Height="37.8" CanGrow="true">
|
||||
<TextObject Name="Text14" Left="18.9" Top="18.9" Width="1011.15" Height="18.9" CanGrow="true" Text="[Daten.Bemerkung]" Font="Arial, 10pt"/>
|
||||
<TextObject Name="Text44" Left="18.9" Width="311.85" Height="18.9" Text="Bemerkung für Organisatoren des BWP" Font="Arial, 10pt, style=Bold"/>
|
||||
<ChildBand Name="Child6" Top="291.5" Width="1047.06" Height="47.25" CanGrow="true">
|
||||
<TextObject Name="Text45" Left="18.9" Top="9.45" Width="529.2" Height="18.9" Text="Folgendes muss der Schüler mitbringen (spezielle Kleidung, Ausweis, usw.)" Font="Arial, 10pt, style=Bold"/>
|
||||
<TextObject Name="Text16" Left="18.9" Top="28.35" Width="1011.15" Height="18.9" CanGrow="true" Text="[Daten.Ausbildungsbemerkung]" Font="Arial, 10pt"/>
|
||||
<ChildBand Name="Child7" Top="342.75" Width="1047.06" Height="66.15" CanGrow="true">
|
||||
<TextObject Name="Text15" Left="18.9" Top="28.35" Width="1011.15" Height="18.9" CanGrow="true" Text="[Daten.Ausbildungsstandort]" Font="Arial, 10pt"/>
|
||||
<TextObject Name="Text46" Left="18.9" Top="9.45" Width="529.2" Height="18.9" Text="Treffpunkt für Schüler, falls abweichend zur Geschäftsadresse" Font="Arial, 10pt, style=Bold"/>
|
||||
<ChildBand Name="Child8" Top="412.9" Width="1047.06"/>
|
||||
</ChildBand>
|
||||
</ChildBand>
|
||||
</ChildBand>
|
||||
</ReportTitleBand>
|
||||
<PageHeaderBand Name="PageHeader1" Top="416.9" Width="1047.06"/>
|
||||
<GroupHeaderBand Name="GroupHeader1" Top="420.9" Width="1047.06" Height="113.4" KeepChild="true" KeepWithData="true" Condition="[Daten.id1]" KeepTogether="true">
|
||||
<ShapeObject Name="Shape1" Left="18.9" Width="1011.15" Height="75.6"/>
|
||||
<TextObject Name="Text19" Left="160.65" Top="9.45" Width="330.75" Height="18.9" Text="[Daten.AAnrede] [Daten.AName] [Daten.AVorname]" Font="Arial, 10pt"/>
|
||||
<TextObject Name="Text20" Left="160.65" Top="28.35" Width="217.35" Height="18.9" Text="[Daten.ATel]" Font="Arial, 10pt"/>
|
||||
<TextObject Name="Text47" Left="22.9" Top="28.35" Width="66.15" Height="18.9" Text="Telefon:" Font="Arial, 10pt, style=Bold"/>
|
||||
<TextObject Name="Text17" Left="22.9" Top="9.45" Width="132.3" Height="18.9" Text="Ansprechpartner:" Font="Arial, 10pt, style=Bold"/>
|
||||
<TextObject Name="Text48" Left="22.9" Top="47.25" Width="66.15" Height="18.9" Text="E-Mail:" Font="Arial, 10pt, style=Bold"/>
|
||||
<TextObject Name="Text21" Left="160.65" Top="47.25" Width="500.85" Height="18.9" CanGrow="true" Text="[Daten.AMail]" Font="Arial, 10pt"/>
|
||||
<TextObject Name="Text50" Left="463.05" Top="94.5" Width="113.4" Height="18.9" Text="Zeit" HorzAlign="Right" Font="Arial, 10pt, style=Bold"/>
|
||||
<TextObject Name="Text25" Left="349.65" Top="94.5" Width="85.05" Height="18.9" Text="Anz. Plätze" HorzAlign="Right" Font="Arial, 10pt, style=Bold"/>
|
||||
<TextObject Name="Text23" Left="255.15" Top="94.5" Width="66.15" Height="18.9" Text="Min.Anf." Font="Arial, 10pt, style=Bold"/>
|
||||
<TextObject Name="Text49" Left="18.9" Top="94.5" Width="94.5" Height="18.9" Text="Beruf" Font="Arial, 10pt, style=Bold"/>
|
||||
<LineObject Name="Line2" Left="18.9" Top="113.4" Width="1011.15"/>
|
||||
<TextObject Name="Text53" Left="585.9" Top="94.5" Width="179.55" Height="18.9" Text="Bemerkung für Schüler" Font="Arial, 10pt, style=Bold"/>
|
||||
<TextObject Name="Text54" Left="784.35" Top="94.5" Width="179.55" Height="18.9" Text="Bemerkung zum Standort" Font="Arial, 10pt, style=Bold"/>
|
||||
<DataBand Name="Data1" Top="538.3" Width="1047.06" Height="18.9" CanGrow="true" DataSource="Daten" KeepTogether="true">
|
||||
<TextObject Name="Text18" Left="18.9" Width="226.8" Height="18.9" CanGrow="true" Text="[Daten.Bezeichnung]" Font="Arial, 10pt"/>
|
||||
<TextObject Name="Text22" Left="255.15" Width="103.95" Height="18.9" Text="[Daten.Klasse]" Font="Arial, 10pt"/>
|
||||
<TextObject Name="Text26" Left="444.15" Width="132.3" Height="18.9" Text="[Daten.Zeit]" HorzAlign="Right" Font="Arial, 10pt"/>
|
||||
<TextObject Name="Text24" Left="378" Width="56.7" Height="18.9" Text="[Daten.Anzahl]" HorzAlign="Right" Font="Arial, 10pt"/>
|
||||
<TextObject Name="Text27" Left="585.9" Width="189" Height="18.9" CanGrow="true" Text="[Daten.Schuelerbemerkung]" Font="Arial, 10pt"/>
|
||||
<TextObject Name="Text29" Left="784.35" Width="245.7" Height="18.9" CanGrow="true" Text="[Daten.Standortbemerkung]" Font="Arial, 10pt"/>
|
||||
<Sort>
|
||||
<Sort Expression="[Daten.Zeit]"/>
|
||||
<Sort Expression="[Daten.Bezeichnung]"/>
|
||||
</Sort>
|
||||
</DataBand>
|
||||
<GroupFooterBand Name="GroupFooter1" Top="561.2" Width="1047.06" Height="18.9"/>
|
||||
</GroupHeaderBand>
|
||||
<PageFooterBand Name="PageFooter1" Top="584.1" Width="1047.06" Height="28.35">
|
||||
<TextObject Name="Text51" Left="963.9" Top="9.45" Width="66.15" Height="18.9" Text="[Page#]" HorzAlign="Right" Font="Arial, 10pt"/>
|
||||
<TextObject Name="Text52" Left="18.9" Top="9.45" Width="94.5" Height="18.9" Text="[Date]" Format="Date" Format.Format="d" Font="Arial, 10pt"/>
|
||||
<LineObject Name="Line4" Left="18.9" Top="9.45" Width="1011.15"/>
|
||||
</PageFooterBand>
|
||||
</ReportPage>
|
||||
</Report>
|
||||
45
BlazorApp/Reports/userliste.frx
Normal file
45
BlazorApp/Reports/userliste.frx
Normal file
@@ -0,0 +1,45 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Report ScriptLanguage="CSharp" ReportInfo.Created="07/24/2021 10:48:45" ReportInfo.Modified="07/24/2021 10:49:35" ReportInfo.CreatorVersion="2021.3.17.0">
|
||||
<Styles Name="Standard">
|
||||
<Style Name="Title" Font="Arial, 12pt, style=Bold"/>
|
||||
<Style Name="Header" Font="Arial, 10pt, style=Bold"/>
|
||||
<Style Name="Group" Font="Arial, 10pt, style=Bold"/>
|
||||
<Style Name="Data" Font="Arial, 10pt"/>
|
||||
<Style Name="Footer" Font="Arial, 10pt"/>
|
||||
<Style Name="EvenRows" Fill.Color="WhiteSmoke" Font="Arial, 10pt"/>
|
||||
</Styles>
|
||||
<Dictionary>
|
||||
<TableDataSource Name="Daten" ReferenceName="Data.Daten" DataType="System.Int32" Enabled="true">
|
||||
<Column Name="Id" DataType="System.String"/>
|
||||
<Column Name="UserName" DataType="System.String"/>
|
||||
<Column Name="NormalizedUserName" DataType="System.String"/>
|
||||
<Column Name="Email" DataType="System.String"/>
|
||||
<Column Name="NormalizedEmail" DataType="System.String"/>
|
||||
<Column Name="EmailConfirmed" DataType="System.Boolean" BindableControl="CheckBox"/>
|
||||
<Column Name="PasswordHash" DataType="System.String"/>
|
||||
<Column Name="SecurityStamp" DataType="System.String"/>
|
||||
<Column Name="ConcurrencyStamp" DataType="System.String"/>
|
||||
<Column Name="PhoneNumber" DataType="System.String"/>
|
||||
<Column Name="PhoneNumberConfirmed" DataType="System.Boolean" BindableControl="CheckBox"/>
|
||||
<Column Name="TwoFactorEnabled" DataType="System.Boolean" BindableControl="CheckBox"/>
|
||||
<Column Name="LockoutEnd" DataType="System.DateTimeOffset"/>
|
||||
<Column Name="LockoutEnabled" DataType="System.Boolean" BindableControl="CheckBox"/>
|
||||
<Column Name="AccessFailedCount" DataType="System.Int32"/>
|
||||
<Column Name="LockoutEndDateUtc" DataType="System.DateTimeOffset"/>
|
||||
</TableDataSource>
|
||||
</Dictionary>
|
||||
<ReportPage Name="Page1" Watermark.Font="Arial, 60pt">
|
||||
<ReportTitleBand Name="ReportTitle1" Width="718.2" Height="37.8">
|
||||
<TextObject Name="Text1" Width="718.2" Height="37.8" Dock="Fill" Text="Daten" HorzAlign="Center" VertAlign="Center" Font="Arial, 12pt, style=Bold" Style="Title"/>
|
||||
</ReportTitleBand>
|
||||
<PageHeaderBand Name="PageHeader1" Top="41.8" Width="718.2" Height="28.35">
|
||||
<TextObject Name="Text2" Left="18.9" Width="94.5" Height="18.9" Text="UserName" Font="Arial, 10pt"/>
|
||||
</PageHeaderBand>
|
||||
<DataBand Name="Data1" Top="74.15" Width="718.2" Height="56.7" EvenStyle="EvenRows" DataSource="Daten">
|
||||
<TextObject Name="Text35" Left="18.9" Top="9.45" Width="94.5" Height="18.9" Text="[Daten.UserName]" Font="Arial, 10pt"/>
|
||||
</DataBand>
|
||||
<PageFooterBand Name="PageFooter1" Top="134.85" Width="718.2" Height="75.6">
|
||||
<TextObject Name="Text34" Width="718.2" Height="75.6" Dock="Fill" Text="[PageN]" HorzAlign="Right" Font="Arial, 10pt" Style="Footer"/>
|
||||
</PageFooterBand>
|
||||
</ReportPage>
|
||||
</Report>
|
||||
@@ -79,6 +79,32 @@
|
||||
<RadzenPanelMenuItem Text="Abmelden" Path="/identity/account/logout" Icon=""></RadzenPanelMenuItem>
|
||||
</Authorized>
|
||||
<NotAuthorized></NotAuthorized>
|
||||
</AuthorizeView>
|
||||
<AuthorizeView Roles="Lehrer">
|
||||
<Authorized>
|
||||
@foreach (var mentry in TeacherMenu)
|
||||
{
|
||||
<RadzenPanelMenuItem @bind-Expanded="@mentry.Expanded" Text="@mentry.Name" Path="@mentry.Path" Icon="@mentry.Icon">
|
||||
@if (mentry.Children != null)
|
||||
{
|
||||
@foreach (var child in mentry.Children)
|
||||
{
|
||||
if (child.Children != null)
|
||||
{
|
||||
<RadzenPanelMenuItem @bind-Expanded="@child.Expanded" Text="@child.Name" Icon="@child.Icon">
|
||||
@foreach (var subchild in child.Children)
|
||||
{
|
||||
<RadzenPanelMenuItem Text="@subchild.Name" Path="@subchild.Path" />}
|
||||
</RadzenPanelMenuItem> }
|
||||
else
|
||||
{
|
||||
<RadzenPanelMenuItem Text="@child.Name" Path="@child.Path" Icon="@child.Icon" />}
|
||||
}}
|
||||
</RadzenPanelMenuItem>}
|
||||
|
||||
<RadzenPanelMenuItem Text="Abmelden" Path="/identity/account/logout" Icon=""></RadzenPanelMenuItem>
|
||||
</Authorized>
|
||||
<NotAuthorized></NotAuthorized>
|
||||
</AuthorizeView>
|
||||
<AuthorizeView Roles="Administrators">
|
||||
<Authorized>
|
||||
@@ -110,7 +136,8 @@
|
||||
<RadzenPanelMenuItem Text="Anmelden" Path="/identity/account/login" Icon=""></RadzenPanelMenuItem>
|
||||
<RadzenPanelMenuItem Text="Registrierung Firma" Path="/identity/account/registercompany" Icon=""></RadzenPanelMenuItem>
|
||||
<RadzenPanelMenuItem Text="Registrierung Lehrer" Path="/identity/account/registerteacher" Icon=""></RadzenPanelMenuItem>
|
||||
|
||||
<RadzenPanelMenuItem Text="ScriptGenerator" Path="/Admin/ScriptGenerator" Icon=""></RadzenPanelMenuItem>
|
||||
<RadzenPanelMenuItem Text="ShowConfig" Path="/ShowConfig" Icon=""></RadzenPanelMenuItem>
|
||||
</NotAuthorized>
|
||||
</AuthorizeView>
|
||||
</RadzenPanelMenu>
|
||||
@@ -162,6 +189,7 @@
|
||||
//public List<BlazorApp.Models.MenuItem> AdminMenu = new List<Models.MenuItem>();
|
||||
IEnumerable<BlazorApp.Models.MenuItem> AdminMenu;
|
||||
IEnumerable<BlazorApp.Models.MenuItem> CompanyMenu;
|
||||
IEnumerable<BlazorApp.Models.MenuItem> TeacherMenu;
|
||||
|
||||
string Theme
|
||||
{
|
||||
@@ -190,6 +218,7 @@
|
||||
|
||||
AdminMenu = MenuService.MenuAdmin;
|
||||
CompanyMenu = MenuService.MenuComapny;
|
||||
TeacherMenu = MenuService.MenuTeacher;
|
||||
|
||||
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
@if (Theme != "default.css")
|
||||
{
|
||||
<link href="_content/Radzen.Blazor/css/@(Theme)" rel="stylesheet" />
|
||||
<link href="_content/Radzen.Blazor/css/@(Theme)" rel="stylesheet" />
|
||||
}
|
||||
<RadzenDialog />
|
||||
<RadzenNotification />
|
||||
@@ -34,9 +34,6 @@
|
||||
</RadzenLabel>
|
||||
</div>
|
||||
<div class="col-6 d-flex align-items-center justify-content-end">
|
||||
@*<div class="d-none d-md-inline-flex align-items-center">
|
||||
<Social />
|
||||
</div>*@
|
||||
<label class="d-none d-sm-inline-block" style="margin-left: 1rem">Theme:</label>
|
||||
<RadzenDropDown style="margin:0 .5rem" TValue="string" TextProperty="Text" ValueProperty="Value" Data="@themes" Value="@ThemeState.CurrentTheme" Change="@ChangeTheme" />
|
||||
</div>
|
||||
@@ -55,16 +52,14 @@
|
||||
|
||||
<RadzenSidebar @ref="@sidebar0" @bind-Expanded="@sidebarExpanded">
|
||||
<ChildContent>
|
||||
@*<div style="padding: 1rem">
|
||||
<RadzenTextBox Placeholder="Find component ..." type="search" @oninput="@FilterPanelMenu" style="width: 100%" />
|
||||
</div>*@
|
||||
<RadzenPanelMenu>
|
||||
<AuthorizeView Roles="Administrators">
|
||||
<Authorized>
|
||||
@foreach (var Menuentry in AdminMenu)
|
||||
{
|
||||
<RadzenPanelMenuItem @bind-Expanded="Menuentry.Expanded" Text="Menuentry.Name" Path="MenuEntry.Path" Icon="MenuEntry.Icon">
|
||||
</RadzenPanelMenuItem>}
|
||||
{
|
||||
<RadzenPanelMenuItem @bind-Expanded="Menuentry.Expanded" Text="Menuentry.Name" Path="MenuEntry.Path" Icon="MenuEntry.Icon">
|
||||
</RadzenPanelMenuItem>
|
||||
}
|
||||
<RadzenPanelMenuItem Text="Abmelden" Path="/identity/account/logout" Icon=""></RadzenPanelMenuItem>
|
||||
</Authorized>
|
||||
<NotAuthorized>
|
||||
@@ -72,27 +67,7 @@
|
||||
</NotAuthorized>
|
||||
</AuthorizeView>
|
||||
</RadzenPanelMenu>
|
||||
@*<RadzenPanelMenu>
|
||||
@foreach (var category in examples)
|
||||
{
|
||||
<RadzenPanelMenuItem @bind-Expanded="@category.Expanded" Text="@category.Name" Path="@category.Path" Icon="@category.Icon">
|
||||
@if (category.Children != null)
|
||||
{
|
||||
@foreach (var example in category.Children)
|
||||
{
|
||||
if (example.Children != null)
|
||||
{
|
||||
<RadzenPanelMenuItem Text="@example.Name" @bind-Expanded="@example.Expanded" Icon="@example.Icon">
|
||||
@foreach (var child in example.Children)
|
||||
{
|
||||
<RadzenPanelMenuItem Text="@child.Name" Path="@child.Path" />}
|
||||
</RadzenPanelMenuItem> }
|
||||
else
|
||||
{
|
||||
<RadzenPanelMenuItem Text="@example.Name" Path="@example.Path" Icon="@example.Icon" />}
|
||||
}}
|
||||
</RadzenPanelMenuItem>}
|
||||
</RadzenPanelMenu>*@
|
||||
|
||||
</ChildContent>
|
||||
</RadzenSidebar>
|
||||
<RadzenFooter>
|
||||
@@ -103,76 +78,80 @@
|
||||
</ChildContent>
|
||||
</RadzenFooter>
|
||||
@code {
|
||||
RadzenSidebar sidebar0;
|
||||
RadzenBody body0;
|
||||
bool sidebarExpanded = true;
|
||||
bool bodyExpanded = false;
|
||||
|
||||
dynamic themes = new[]
|
||||
{
|
||||
new { Text = "Default", Value = "default"},
|
||||
new { Text = "Dark", Value="dark" },
|
||||
new { Text = "Software", Value = "software"},
|
||||
new { Text = "Humanistic", Value = "humanistic" }
|
||||
|
||||
RadzenSidebar sidebar0;
|
||||
RadzenBody body0;
|
||||
bool sidebarExpanded = true;
|
||||
bool bodyExpanded = false;
|
||||
|
||||
dynamic themes = new[]
|
||||
{
|
||||
new { Text = "Default", Value = "default"},
|
||||
new { Text = "Dark", Value="dark" },
|
||||
new { Text = "Software", Value = "software"},
|
||||
new { Text = "Humanistic", Value = "humanistic" }
|
||||
};
|
||||
|
||||
IEnumerable<BlazorApp.Models.MenuItem> AdminMenu;
|
||||
IEnumerable<BlazorApp.Models.MenuItem> AdminMenu;
|
||||
|
||||
string Theme
|
||||
string Theme
|
||||
{
|
||||
get
|
||||
{
|
||||
return $"{ThemeState.CurrentTheme}.css";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
protected override void OnInitialized()
|
||||
{
|
||||
|
||||
|
||||
if (httpContextAccessor != null && httpContextAccessor.HttpContext != null &&
|
||||
httpContextAccessor.HttpContext.Request != null && httpContextAccessor.HttpContext.Request.Headers.ContainsKey("User-Agent"))
|
||||
{
|
||||
var userAgent = httpContextAccessor.HttpContext.Request.Headers["User-Agent"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(userAgent))
|
||||
{
|
||||
get
|
||||
if (userAgent.Contains("iPhone") || userAgent.Contains("Android") || userAgent.Contains("Googlebot"))
|
||||
{
|
||||
return $"{ThemeState.CurrentTheme}.css";
|
||||
sidebarExpanded = false;
|
||||
bodyExpanded = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");
|
||||
|
||||
}
|
||||
|
||||
|
||||
protected override async Task OnAfterRenderAsync(bool firstRender)
|
||||
{
|
||||
if (!firstRender)
|
||||
{
|
||||
var example = ExampleService.FindCurrent(UriHelper.ToAbsoluteUri(UriHelper.Uri));
|
||||
|
||||
protected override void OnInitialized()
|
||||
{
|
||||
if (httpContextAccessor != null && httpContextAccessor.HttpContext != null &&
|
||||
httpContextAccessor.HttpContext.Request != null && httpContextAccessor.HttpContext.Request.Headers.ContainsKey("User-Agent"))
|
||||
{
|
||||
var userAgent = httpContextAccessor.HttpContext.Request.Headers["User-Agent"].FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(userAgent))
|
||||
{
|
||||
if (userAgent.Contains("iPhone") || userAgent.Contains("Android") || userAgent.Contains("Googlebot"))
|
||||
{
|
||||
sidebarExpanded = false;
|
||||
bodyExpanded = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
protected override async Task OnAfterRenderAsync(bool firstRender)
|
||||
{
|
||||
if (!firstRender)
|
||||
{
|
||||
var example = ExampleService.FindCurrent(UriHelper.ToAbsoluteUri(UriHelper.Uri));
|
||||
void ChangeTheme(object value)
|
||||
{
|
||||
ThemeState.CurrentTheme = value.ToString();
|
||||
UriHelper.NavigateTo(UriHelper.ToAbsoluteUri(UriHelper.Uri).ToString());
|
||||
}
|
||||
|
||||
//await JSRuntime.InvokeVoidAsync("setTitle", ExampleService.TitleFor(example));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void ChangeTheme(object value)
|
||||
{
|
||||
ThemeState.CurrentTheme = value.ToString();
|
||||
UriHelper.NavigateTo(UriHelper.ToAbsoluteUri(UriHelper.Uri).ToString());
|
||||
}
|
||||
|
||||
public class CustomMenuItem
|
||||
{
|
||||
public string Id { get; set; }
|
||||
public string Text { get; set; }
|
||||
public string ParentId { get; set; }
|
||||
public string Url { get; set; }
|
||||
} }
|
||||
public class CustomMenuItem
|
||||
{
|
||||
public string Id { get; set; }
|
||||
public string Text { get; set; }
|
||||
public string ParentId { get; set; }
|
||||
public string Url { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@ using Microsoft.AspNetCore.Components.Server;
|
||||
using Radzen;
|
||||
using Blazored.SessionStorage;
|
||||
using BlazorApp.Helper;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
|
||||
namespace BlazorApp
|
||||
{
|
||||
@@ -56,7 +57,7 @@ namespace BlazorApp
|
||||
services.AddScoped<TooltipService>();
|
||||
services.AddScoped<ContextMenuService>();
|
||||
services.AddBlazoredSessionStorage();
|
||||
services.AddScoped<SessionState>();
|
||||
//services.AddScoped<SessionState>();
|
||||
// services.AddAuthentication("Identity.Application")
|
||||
//.AddCookie();
|
||||
|
||||
@@ -95,6 +96,10 @@ namespace BlazorApp
|
||||
services.AddScoped<ThemeState>();
|
||||
services.AddScoped<ExampleService>();
|
||||
services.AddScoped<MenuService>();
|
||||
// services.AddScoped<SessionState>();
|
||||
services.AddProtectedBrowserStorage();
|
||||
|
||||
|
||||
}
|
||||
|
||||
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
|
||||
@@ -104,6 +109,7 @@ namespace BlazorApp
|
||||
{
|
||||
app.UseDeveloperExceptionPage();
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
app.UseExceptionHandler("/Error");
|
||||
@@ -124,6 +130,24 @@ namespace BlazorApp
|
||||
endpoints.MapBlazorHub();
|
||||
endpoints.MapFallbackToPage("/_Host");
|
||||
});
|
||||
app.UseFastReport();
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
private async Task DeveloperLogin(HttpContext httpContext)
|
||||
{
|
||||
|
||||
var UserManager = httpContext.RequestServices.GetRequiredService<UserManager<IdentityUser>>();
|
||||
var signInManager = httpContext.RequestServices.GetRequiredService<SignInManager<IdentityUser>>();
|
||||
|
||||
var _user = await UserManager.FindByNameAsync("info@shub.ch");
|
||||
|
||||
await signInManager.SignInAsync(_user, isPersistent: false);
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,3 +11,9 @@
|
||||
@using Syncfusion.Blazor.Calendars
|
||||
@using Radzen
|
||||
@using Radzen.Blazor
|
||||
|
||||
@using FastReport
|
||||
@using FastReport.Web
|
||||
@using FastReport.Web.Blazor.Components
|
||||
|
||||
@using Blazored.SessionStorage
|
||||
@@ -17,10 +17,16 @@
|
||||
"smtpserver": "smtp.eu.mailgun.org",
|
||||
"smtpuser": "postmaster@mg.bwpm.ch",
|
||||
"smtppw": "3eb92cf657bf678cd31b4942a3e05cd4-7238b007-50b3a800",
|
||||
"smtpport": "587"
|
||||
"smtpport": "587",
|
||||
"autologin": "true",
|
||||
"autologin_user": "teacher@shub.ch",
|
||||
"autologin_pw": "Admin*123",
|
||||
//"autologin_user": "hutter@shub.ch",
|
||||
//"autologin_pw": "b",
|
||||
},
|
||||
"AllowedHosts": "*",
|
||||
"ConnectionStrings": {
|
||||
"BlazorAppContextConnection": "Server=shu00;Database=BWPM;user=sa;password=*shu29;MultipleActiveResultSets=true"
|
||||
"BlazorAppContextConnection": "Server=shu00;Database=BWPM;user=sa;password=*shu29;MultipleActiveResultSets=true",
|
||||
//"BlazorAppContextConnection": "Server=192.168.111.111;Database=BWPM;user=sa;password=SHU*sql123;MultipleActiveResultSets=true"
|
||||
}
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
@@ -1,5 +1,7 @@
|
||||
<StaticWebAssets Version="1.0">
|
||||
<ContentRoot BasePath="/Identity" Path="C:\Users\Steafn Hutter lokal\.nuget\packages\microsoft.aspnetcore.identity.ui\3.1.15\staticwebassets\V4\" />
|
||||
<ContentRoot BasePath="_content/FastReport.Web" Path="C:\Users\Steafn Hutter lokal\.nuget\packages\fastreport.web\2021.3.17\build\..\staticwebassets\" />
|
||||
<ContentRoot BasePath="_content/Microsoft.AspNetCore.ProtectedBrowserStorage" Path="C:\Users\Steafn Hutter lokal\.nuget\packages\microsoft.aspnetcore.protectedbrowserstorage\0.1.0-alpha.19521.1\build\..\staticwebassets\" />
|
||||
<ContentRoot BasePath="_content/Radzen.Blazor" Path="C:\Users\Steafn Hutter lokal\.nuget\packages\radzen.blazor\3.6.7\build\..\staticwebassets\" />
|
||||
<ContentRoot BasePath="_content/Syncfusion.Blazor" Path="C:\Users\Steafn Hutter lokal\.nuget\packages\syncfusion.blazor\19.1.0.54\build\..\staticwebassets\" />
|
||||
<ContentRoot BasePath="_content/Syncfusion.Blazor.Themes" Path="C:\Users\Steafn Hutter lokal\.nuget\packages\syncfusion.blazor.themes\19.1.0.54\build\..\staticwebassets\" />
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -33,17 +33,22 @@
|
||||
"dependencies": {
|
||||
"BWPMModels": "1.0.0",
|
||||
"Blazored.SessionStorage": "1.0.13",
|
||||
"FastReport.Core": "2021.3.17",
|
||||
"FastReport.Web": "2021.3.17",
|
||||
"Microsoft.AspNetCore.Identity.EntityFrameworkCore": "3.1.15",
|
||||
"Microsoft.AspNetCore.Identity.UI": "3.1.15",
|
||||
"Microsoft.AspNetCore.Mvc.NewtonsoftJson": "3.1.15",
|
||||
"Microsoft.AspNetCore.ProtectedBrowserStorage": "0.1.0-alpha.19521.1",
|
||||
"Microsoft.EntityFrameworkCore.SqlServer": "3.1.15",
|
||||
"Microsoft.EntityFrameworkCore.Tools": "3.1.15",
|
||||
"Microsoft.VisualStudio.Azure.Containers.Tools.Targets": "1.10.14",
|
||||
"Microsoft.VisualStudio.Web.CodeGeneration.Design": "3.1.5",
|
||||
"Radzen.Blazor": "3.6.7",
|
||||
"Syncfusion.Blazor": "19.1.0.54",
|
||||
"Syncfusion.Blazor.Themes": "19.1.0.54",
|
||||
"System.Net.Http": "4.3.4",
|
||||
"System.Net.Http.Json": "5.0.0",
|
||||
"FastReport.Compat.Reference": "2021.2.9.0",
|
||||
"Microsoft.AspNetCore.Antiforgery": "3.1.0.0",
|
||||
"Microsoft.AspNetCore.Authentication.Abstractions": "3.1.0.0",
|
||||
"Microsoft.AspNetCore.Authentication.Cookies": "3.1.0.0",
|
||||
@@ -289,7 +294,7 @@
|
||||
"System.Web": "4.0.0.0",
|
||||
"System.Web.HttpUtility": "4.0.2.0",
|
||||
"System.Windows": "4.0.0.0",
|
||||
"System.Windows.Extensions": "4.0.1.0",
|
||||
"System.Windows.Extensions.Reference": "4.0.1.0",
|
||||
"System.Xml": "4.0.0.0",
|
||||
"System.Xml.Linq": "4.0.0.0",
|
||||
"System.Xml.ReaderWriter.Reference": "4.2.2.0",
|
||||
@@ -340,6 +345,69 @@
|
||||
"lib/netstandard2.0/Blazored.SessionStorage.dll": {}
|
||||
}
|
||||
},
|
||||
"FastReport.Compat/2021.2.9": {
|
||||
"dependencies": {
|
||||
"Microsoft.CodeAnalysis.CSharp": "3.3.1",
|
||||
"Microsoft.CodeAnalysis.VisualBasic": "3.3.1",
|
||||
"System.Drawing.Common": "4.6.1",
|
||||
"System.Windows.Extensions": "4.6.0"
|
||||
},
|
||||
"runtimeTargets": {
|
||||
"runtimes/any/lib/netcoreapp3.0/FastReport.Compat.dll": {
|
||||
"rid": "any",
|
||||
"assetType": "runtime",
|
||||
"assemblyVersion": "2021.2.9.0",
|
||||
"fileVersion": "2021.2.9.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"FastReport.Core/2021.3.17": {
|
||||
"dependencies": {
|
||||
"FastReport.Compat": "2021.2.9",
|
||||
"FastReport.DataVisualization": "2021.2.3",
|
||||
"System.Drawing.Common": "4.6.1",
|
||||
"System.Security.Cryptography.Pkcs": "4.5.2",
|
||||
"System.Security.Permissions": "4.5.0",
|
||||
"System.Text.Encoding.CodePages": "4.5.1"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/netstandard2.1/FastReport.dll": {
|
||||
"assemblyVersion": "2021.3.17.0",
|
||||
"fileVersion": "2021.3.17.0"
|
||||
}
|
||||
},
|
||||
"compile": {
|
||||
"lib/netstandard2.1/FastReport.dll": {}
|
||||
}
|
||||
},
|
||||
"FastReport.DataVisualization/2021.2.3": {
|
||||
"dependencies": {
|
||||
"FastReport.Compat": "2021.2.9"
|
||||
},
|
||||
"runtimeTargets": {
|
||||
"runtimes/any/lib/netcoreapp3.0/FastReport.DataVisualization.dll": {
|
||||
"rid": "any",
|
||||
"assetType": "runtime",
|
||||
"assemblyVersion": "2021.2.3.0",
|
||||
"fileVersion": "2021.2.3.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"FastReport.Web/2021.3.17": {
|
||||
"dependencies": {
|
||||
"FastReport.Compat": "2021.2.9",
|
||||
"FastReport.Core": "2021.3.17"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/netcoreapp3.1/FastReport.Web.dll": {
|
||||
"assemblyVersion": "2021.3.17.0",
|
||||
"fileVersion": "2021.3.17.0"
|
||||
}
|
||||
},
|
||||
"compile": {
|
||||
"lib/netcoreapp3.1/FastReport.Web.dll": {}
|
||||
}
|
||||
},
|
||||
"Microsoft.AspNet.WebApi.Client/5.2.7": {
|
||||
"dependencies": {
|
||||
"Newtonsoft.Json": "12.0.3",
|
||||
@@ -532,6 +600,17 @@
|
||||
"lib/netcoreapp3.1/Microsoft.AspNetCore.Mvc.NewtonsoftJson.dll": {}
|
||||
}
|
||||
},
|
||||
"Microsoft.AspNetCore.ProtectedBrowserStorage/0.1.0-alpha.19521.1": {
|
||||
"runtime": {
|
||||
"lib/netcoreapp3.0/Microsoft.AspNetCore.ProtectedBrowserStorage.dll": {
|
||||
"assemblyVersion": "0.1.0.0",
|
||||
"fileVersion": "0.100.19.52101"
|
||||
}
|
||||
},
|
||||
"compile": {
|
||||
"lib/netcoreapp3.0/Microsoft.AspNetCore.ProtectedBrowserStorage.dll": {}
|
||||
}
|
||||
},
|
||||
"Microsoft.AspNetCore.Razor/2.2.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.AspNetCore.Html.Abstractions": "2.2.0"
|
||||
@@ -766,6 +845,61 @@
|
||||
"lib/netstandard2.0/Microsoft.CodeAnalysis.Razor.dll": {}
|
||||
}
|
||||
},
|
||||
"Microsoft.CodeAnalysis.VisualBasic/3.3.1": {
|
||||
"dependencies": {
|
||||
"Microsoft.CodeAnalysis.Common": "3.3.1"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/netstandard2.0/Microsoft.CodeAnalysis.VisualBasic.dll": {
|
||||
"assemblyVersion": "3.3.0.0",
|
||||
"fileVersion": "3.300.119.46211"
|
||||
}
|
||||
},
|
||||
"resources": {
|
||||
"lib/netstandard2.0/cs/Microsoft.CodeAnalysis.VisualBasic.resources.dll": {
|
||||
"locale": "cs"
|
||||
},
|
||||
"lib/netstandard2.0/de/Microsoft.CodeAnalysis.VisualBasic.resources.dll": {
|
||||
"locale": "de"
|
||||
},
|
||||
"lib/netstandard2.0/es/Microsoft.CodeAnalysis.VisualBasic.resources.dll": {
|
||||
"locale": "es"
|
||||
},
|
||||
"lib/netstandard2.0/fr/Microsoft.CodeAnalysis.VisualBasic.resources.dll": {
|
||||
"locale": "fr"
|
||||
},
|
||||
"lib/netstandard2.0/it/Microsoft.CodeAnalysis.VisualBasic.resources.dll": {
|
||||
"locale": "it"
|
||||
},
|
||||
"lib/netstandard2.0/ja/Microsoft.CodeAnalysis.VisualBasic.resources.dll": {
|
||||
"locale": "ja"
|
||||
},
|
||||
"lib/netstandard2.0/ko/Microsoft.CodeAnalysis.VisualBasic.resources.dll": {
|
||||
"locale": "ko"
|
||||
},
|
||||
"lib/netstandard2.0/pl/Microsoft.CodeAnalysis.VisualBasic.resources.dll": {
|
||||
"locale": "pl"
|
||||
},
|
||||
"lib/netstandard2.0/pt-BR/Microsoft.CodeAnalysis.VisualBasic.resources.dll": {
|
||||
"locale": "pt-BR"
|
||||
},
|
||||
"lib/netstandard2.0/ru/Microsoft.CodeAnalysis.VisualBasic.resources.dll": {
|
||||
"locale": "ru"
|
||||
},
|
||||
"lib/netstandard2.0/tr/Microsoft.CodeAnalysis.VisualBasic.resources.dll": {
|
||||
"locale": "tr"
|
||||
},
|
||||
"lib/netstandard2.0/zh-Hans/Microsoft.CodeAnalysis.VisualBasic.resources.dll": {
|
||||
"locale": "zh-Hans"
|
||||
},
|
||||
"lib/netstandard2.0/zh-Hant/Microsoft.CodeAnalysis.VisualBasic.resources.dll": {
|
||||
"locale": "zh-Hant"
|
||||
}
|
||||
},
|
||||
"compile": {
|
||||
"lib/netstandard2.0/Microsoft.CodeAnalysis.VisualBasic.dll": {}
|
||||
}
|
||||
},
|
||||
"Microsoft.CodeAnalysis.Workspaces.Common/3.3.1": {
|
||||
"dependencies": {
|
||||
"Microsoft.CodeAnalysis.Common": "3.3.1",
|
||||
@@ -1256,6 +1390,7 @@
|
||||
},
|
||||
"Microsoft.NETCore.Platforms/3.1.0": {},
|
||||
"Microsoft.NETCore.Targets/1.1.0": {},
|
||||
"Microsoft.VisualStudio.Azure.Containers.Tools.Targets/1.10.14": {},
|
||||
"Microsoft.VisualStudio.Web.CodeGeneration/3.1.5": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.DependencyInjection": "3.1.15",
|
||||
@@ -1384,6 +1519,11 @@
|
||||
"System.Security.Principal.Windows": "4.7.0"
|
||||
}
|
||||
},
|
||||
"Microsoft.Win32.SystemEvents/4.6.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "3.1.0"
|
||||
}
|
||||
},
|
||||
"NETStandard.Library/2.0.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "3.1.0"
|
||||
@@ -1864,6 +2004,15 @@
|
||||
"System.Runtime": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Drawing.Common/4.6.1": {
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "3.1.0",
|
||||
"Microsoft.Win32.SystemEvents": "4.6.0"
|
||||
},
|
||||
"compile": {
|
||||
"ref/netcoreapp3.0/System.Drawing.Common.dll": {}
|
||||
}
|
||||
},
|
||||
"System.Globalization/4.3.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "3.1.0",
|
||||
@@ -2307,6 +2456,14 @@
|
||||
"runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2"
|
||||
}
|
||||
},
|
||||
"System.Security.Cryptography.Pkcs/4.5.2": {
|
||||
"dependencies": {
|
||||
"System.Security.Cryptography.Cng": "4.5.0"
|
||||
},
|
||||
"compile": {
|
||||
"ref/netcoreapp2.1/System.Security.Cryptography.Pkcs.dll": {}
|
||||
}
|
||||
},
|
||||
"System.Security.Cryptography.Primitives/4.3.0": {
|
||||
"dependencies": {
|
||||
"System.Diagnostics.Debug": "4.3.0",
|
||||
@@ -2433,6 +2590,11 @@
|
||||
}
|
||||
},
|
||||
"System.Threading.Tasks.Extensions/4.5.3": {},
|
||||
"System.Windows.Extensions/4.6.0": {
|
||||
"dependencies": {
|
||||
"System.Drawing.Common": "4.6.1"
|
||||
}
|
||||
},
|
||||
"System.Xml.ReaderWriter/4.3.0": {
|
||||
"dependencies": {
|
||||
"System.Collections": "4.3.0",
|
||||
@@ -2515,6 +2677,17 @@
|
||||
"BWPMModels.dll": {}
|
||||
}
|
||||
},
|
||||
"FastReport.Compat.Reference/2021.2.9.0": {
|
||||
"runtime": {
|
||||
"FastReport.Compat.dll": {
|
||||
"assemblyVersion": "2021.2.9.0",
|
||||
"fileVersion": "2021.2.9.0"
|
||||
}
|
||||
},
|
||||
"compile": {
|
||||
"FastReport.Compat.dll": {}
|
||||
}
|
||||
},
|
||||
"Microsoft.AspNetCore.Antiforgery/3.1.0.0": {
|
||||
"compile": {
|
||||
"Microsoft.AspNetCore.Antiforgery.dll": {}
|
||||
@@ -3985,7 +4158,7 @@
|
||||
},
|
||||
"compileOnly": true
|
||||
},
|
||||
"System.Windows.Extensions/4.0.1.0": {
|
||||
"System.Windows.Extensions.Reference/4.0.1.0": {
|
||||
"compile": {
|
||||
"System.Windows.Extensions.dll": {}
|
||||
},
|
||||
@@ -4066,6 +4239,34 @@
|
||||
"path": "blazored.sessionstorage/1.0.13",
|
||||
"hashPath": "blazored.sessionstorage.1.0.13.nupkg.sha512"
|
||||
},
|
||||
"FastReport.Compat/2021.2.9": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-fjjHxgbgbw5UpkLvlhsJVw9YrUSG+xPZjdHp/vcx6bpkLY+cHXAUavYzPZgOD2h7uvhsrUHzjsta6oIXEwhRkQ==",
|
||||
"path": "fastreport.compat/2021.2.9",
|
||||
"hashPath": "fastreport.compat.2021.2.9.nupkg.sha512"
|
||||
},
|
||||
"FastReport.Core/2021.3.17": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-yqE7AYP/HI1x2nqwGoL6/GekrdAetoVTUDtZlMi5W2ELbxKPHUjOAweZE0m8hUjOrSwikSjduOdfEFyFYAIFjg==",
|
||||
"path": "fastreport.core/2021.3.17",
|
||||
"hashPath": "fastreport.core.2021.3.17.nupkg.sha512"
|
||||
},
|
||||
"FastReport.DataVisualization/2021.2.3": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-l+eBqq4fsJ+Pmr0cyQxcwyrGEiR9lgmQo2KjIykpl+zb6DJddTUp7dASx/7qS8fUFz7P94q91dSmhUngF5ndvQ==",
|
||||
"path": "fastreport.datavisualization/2021.2.3",
|
||||
"hashPath": "fastreport.datavisualization.2021.2.3.nupkg.sha512"
|
||||
},
|
||||
"FastReport.Web/2021.3.17": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-BOtZvnH5rU8pK2tG0f7LZ8ivWcfgrWcOyNgsdhkmhkpivb+570R4E6eqesC0GUXx6uwfbPn0a0Ult9P3TlKGUw==",
|
||||
"path": "fastreport.web/2021.3.17",
|
||||
"hashPath": "fastreport.web.2021.3.17.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.AspNet.WebApi.Client/5.2.7": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
@@ -4164,6 +4365,13 @@
|
||||
"path": "microsoft.aspnetcore.mvc.newtonsoftjson/3.1.15",
|
||||
"hashPath": "microsoft.aspnetcore.mvc.newtonsoftjson.3.1.15.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.AspNetCore.ProtectedBrowserStorage/0.1.0-alpha.19521.1": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-P81qtHhl6KXr+TCm5qfCxkhFxkGtALmY3bNcraKX6rPGMbPMBGi9mIeCyUZVmpzIVkD1ocUfuRqiob05jR3hUA==",
|
||||
"path": "microsoft.aspnetcore.protectedbrowserstorage/0.1.0-alpha.19521.1",
|
||||
"hashPath": "microsoft.aspnetcore.protectedbrowserstorage.0.1.0-alpha.19521.1.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.AspNetCore.Razor/2.2.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
@@ -4234,6 +4442,13 @@
|
||||
"path": "microsoft.codeanalysis.razor/3.1.0",
|
||||
"hashPath": "microsoft.codeanalysis.razor.3.1.0.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.CodeAnalysis.VisualBasic/3.3.1": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-F7fc/G+0ocOYkKSCJ7Y8Q7eAEkAdG5RYODI9FtSl2Hm8zIDBVA3NccCm98gaOvCamLfMHYqeOjpb3yJnnw3m/w==",
|
||||
"path": "microsoft.codeanalysis.visualbasic/3.3.1",
|
||||
"hashPath": "microsoft.codeanalysis.visualbasic.3.3.1.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.CodeAnalysis.Workspaces.Common/3.3.1": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
@@ -4472,6 +4687,13 @@
|
||||
"path": "microsoft.netcore.targets/1.1.0",
|
||||
"hashPath": "microsoft.netcore.targets.1.1.0.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.VisualStudio.Azure.Containers.Tools.Targets/1.10.14": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-vjweoaSTnMiJY4Ts4/9xHt3vStk36q8FRXxvwqSx7YjdXTbQE0i/JxncHeL6vsdE1+4sn6of2/eLQeGZ43eL2Q==",
|
||||
"path": "microsoft.visualstudio.azure.containers.tools.targets/1.10.14",
|
||||
"hashPath": "microsoft.visualstudio.azure.containers.tools.targets.1.10.14.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.VisualStudio.Web.CodeGeneration/3.1.5": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
@@ -4535,6 +4757,13 @@
|
||||
"path": "microsoft.win32.registry/4.7.0",
|
||||
"hashPath": "microsoft.win32.registry.4.7.0.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Win32.SystemEvents/4.6.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-Edg+pFW5C8WJb680Za2kTV8TqUi6Ahl/WldRVoOVJ23UQLpDHFspa+umgFjkWZw24ETsU99Cg+ErZz683M4chg==",
|
||||
"path": "microsoft.win32.systemevents/4.6.0",
|
||||
"hashPath": "microsoft.win32.systemevents.4.6.0.nupkg.sha512"
|
||||
},
|
||||
"NETStandard.Library/2.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
@@ -4878,6 +5107,13 @@
|
||||
"path": "system.diagnostics.tracing/4.3.0",
|
||||
"hashPath": "system.diagnostics.tracing.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"System.Drawing.Common/4.6.1": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-TFAADvBEUhdDb2Lteq/BUeG0J1y7a0GyFdpB8yE/eAcbiN0R5MII1nXExXsrtRZiO8C/L9SozL2wGqkRlhiv6A==",
|
||||
"path": "system.drawing.common/4.6.1",
|
||||
"hashPath": "system.drawing.common.4.6.1.nupkg.sha512"
|
||||
},
|
||||
"System.Globalization/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
@@ -5172,6 +5408,13 @@
|
||||
"path": "system.security.cryptography.openssl/4.3.0",
|
||||
"hashPath": "system.security.cryptography.openssl.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"System.Security.Cryptography.Pkcs/4.5.2": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-lIo52x0AAsZs8r1L58lPXaqN6PP51Z/XJts0kZtbZRNYcMguupxqRGjvc/GoqSKTbYa+aBwbkT4xoqQ7EsfN0A==",
|
||||
"path": "system.security.cryptography.pkcs/4.5.2",
|
||||
"hashPath": "system.security.cryptography.pkcs.4.5.2.nupkg.sha512"
|
||||
},
|
||||
"System.Security.Cryptography.Primitives/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
@@ -5277,6 +5520,13 @@
|
||||
"path": "system.threading.tasks.extensions/4.5.3",
|
||||
"hashPath": "system.threading.tasks.extensions.4.5.3.nupkg.sha512"
|
||||
},
|
||||
"System.Windows.Extensions/4.6.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-GL4izk0KgeyXklUOHViAk7y1IOYVYcn8nDpJZgcCqNzTGv2xd+8rgGgMKMo8G9nvfEuRCrNxWnGc74EiuYH2YA==",
|
||||
"path": "system.windows.extensions/4.6.0",
|
||||
"hashPath": "system.windows.extensions.4.6.0.nupkg.sha512"
|
||||
},
|
||||
"System.Xml.ReaderWriter/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
@@ -5310,6 +5560,11 @@
|
||||
"serviceable": false,
|
||||
"sha512": ""
|
||||
},
|
||||
"FastReport.Compat.Reference/2021.2.9.0": {
|
||||
"type": "reference",
|
||||
"serviceable": false,
|
||||
"sha512": ""
|
||||
},
|
||||
"Microsoft.AspNetCore.Antiforgery/3.1.0.0": {
|
||||
"type": "referenceassembly",
|
||||
"serviceable": false,
|
||||
@@ -6535,7 +6790,7 @@
|
||||
"serviceable": false,
|
||||
"sha512": ""
|
||||
},
|
||||
"System.Windows.Extensions/4.0.1.0": {
|
||||
"System.Windows.Extensions.Reference/4.0.1.0": {
|
||||
"type": "referenceassembly",
|
||||
"serviceable": false,
|
||||
"sha512": ""
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -3,6 +3,7 @@
|
||||
"additionalProbingPaths": [
|
||||
"C:\\Users\\Steafn Hutter lokal\\.dotnet\\store\\|arch|\\|tfm|",
|
||||
"C:\\Users\\Steafn Hutter lokal\\.nuget\\packages",
|
||||
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages",
|
||||
"C:\\Program Files (x86)\\Microsoft\\Xamarin\\NuGet"
|
||||
]
|
||||
}
|
||||
|
||||
BIN
BlazorApp/bin/Debug/netcoreapp3.1/FastReport.Compat.dll
Normal file
BIN
BlazorApp/bin/Debug/netcoreapp3.1/FastReport.Compat.dll
Normal file
Binary file not shown.
BIN
BlazorApp/bin/Debug/netcoreapp3.1/FastReport.Web.dll
Normal file
BIN
BlazorApp/bin/Debug/netcoreapp3.1/FastReport.Web.dll
Normal file
Binary file not shown.
BIN
BlazorApp/bin/Debug/netcoreapp3.1/FastReport.dll
Normal file
BIN
BlazorApp/bin/Debug/netcoreapp3.1/FastReport.dll
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -17,10 +17,16 @@
|
||||
"smtpserver": "smtp.eu.mailgun.org",
|
||||
"smtpuser": "postmaster@mg.bwpm.ch",
|
||||
"smtppw": "3eb92cf657bf678cd31b4942a3e05cd4-7238b007-50b3a800",
|
||||
"smtpport": "587"
|
||||
"smtpport": "587",
|
||||
"autologin": "true",
|
||||
"autologin_user": "teacher@shub.ch",
|
||||
"autologin_pw": "Admin*123",
|
||||
//"autologin_user": "hutter@shub.ch",
|
||||
//"autologin_pw": "b",
|
||||
},
|
||||
"AllowedHosts": "*",
|
||||
"ConnectionStrings": {
|
||||
"BlazorAppContextConnection": "Server=shu00;Database=BWPM;user=sa;password=*shu29;MultipleActiveResultSets=true"
|
||||
"BlazorAppContextConnection": "Server=shu00;Database=BWPM;user=sa;password=*shu29;MultipleActiveResultSets=true",
|
||||
//"BlazorAppContextConnection": "Server=192.168.111.111;Database=BWPM;user=sa;password=SHU*sql123;MultipleActiveResultSets=true"
|
||||
}
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
416
BlazorApp/bin/Debug/netcoreapp3.1/font2021.3.17.list
Normal file
416
BlazorApp/bin/Debug/netcoreapp3.1/font2021.3.17.list
Normal file
@@ -0,0 +1,416 @@
|
||||
Futura Book-B C:\Users\Steafn Hutter lokal\AppData\Local\Microsoft\Windows\Fonts\Fub____.ttf
|
||||
Futura Light C:\Users\Steafn Hutter lokal\AppData\Local\Microsoft\Windows\Fonts\ful____.ttf
|
||||
Futura Book C:\Users\Steafn Hutter lokal\AppData\Local\Microsoft\Windows\Fonts\Fuw____.ttf
|
||||
OCR-B 10 BT C:\Users\Steafn Hutter lokal\AppData\Local\Microsoft\Windows\Fonts\OCR-b__.ttf
|
||||
Agency FB-B C:\Windows\Fonts\AGENCYB.TTF
|
||||
Agency FB C:\Windows\Fonts\AGENCYR.TTF
|
||||
Algerian C:\Windows\Fonts\ALGER.TTF
|
||||
Book Antiqua-B C:\Windows\Fonts\ANTQUAB.TTF
|
||||
Book Antiqua-B-I C:\Windows\Fonts\ANTQUABI.TTF
|
||||
Book Antiqua-I C:\Windows\Fonts\ANTQUAI.TTF
|
||||
Arial C:\Windows\Fonts\arial.ttf
|
||||
Arial-B C:\Windows\Fonts\arialbd.ttf
|
||||
Arial-B-I C:\Windows\Fonts\arialbi.ttf
|
||||
Arial-I C:\Windows\Fonts\ariali.ttf
|
||||
Arial Narrow C:\Windows\Fonts\ARIALN.TTF
|
||||
Arial Narrow-B C:\Windows\Fonts\ARIALNB.TTF
|
||||
Arial Narrow-B-I C:\Windows\Fonts\ARIALNBI.TTF
|
||||
Arial Narrow-I C:\Windows\Fonts\ARIALNI.TTF
|
||||
Arial Black-B C:\Windows\Fonts\ariblk.ttf
|
||||
Arial Rounded MT Bold C:\Windows\Fonts\ARLRDBD.TTF
|
||||
Bahnschrift C:\Windows\Fonts\bahnschrift.ttf
|
||||
Baskerville Old Face C:\Windows\Fonts\BASKVILL.TTF
|
||||
Bauhaus 93 C:\Windows\Fonts\BAUHS93.TTF
|
||||
Bell MT C:\Windows\Fonts\BELL.TTF
|
||||
Bell MT-B C:\Windows\Fonts\BELLB.TTF
|
||||
Bell MT-I C:\Windows\Fonts\BELLI.TTF
|
||||
Bernard MT Condensed C:\Windows\Fonts\BERNHC.TTF
|
||||
Book Antiqua C:\Windows\Fonts\BKANT.TTF
|
||||
Bodoni MT-B C:\Windows\Fonts\BOD_B.TTF
|
||||
Bodoni MT-B-I C:\Windows\Fonts\BOD_BI.TTF
|
||||
Bodoni MT Black-B-I C:\Windows\Fonts\BOD_BLAI.TTF
|
||||
Bodoni MT Black-B C:\Windows\Fonts\BOD_BLAR.TTF
|
||||
Bodoni MT Condensed-B C:\Windows\Fonts\BOD_CB.TTF
|
||||
Bodoni MT Condensed-B-I C:\Windows\Fonts\BOD_CBI.TTF
|
||||
Bodoni MT Condensed-I C:\Windows\Fonts\BOD_CI.TTF
|
||||
Bodoni MT Condensed C:\Windows\Fonts\BOD_CR.TTF
|
||||
Bodoni MT-I C:\Windows\Fonts\BOD_I.TTF
|
||||
Bodoni MT Poster C:\Windows\Fonts\BOD_PSTC.TTF
|
||||
Bodoni MT Poster Compressed C:\Windows\Fonts\BOD_PSTC.TTF
|
||||
Bodoni MT C:\Windows\Fonts\BOD_R.TTF
|
||||
Bookman Old Style C:\Windows\Fonts\BOOKOS.TTF
|
||||
Bookman Old Style-B C:\Windows\Fonts\BOOKOSB.TTF
|
||||
Bookman Old Style-B-I C:\Windows\Fonts\BOOKOSBI.TTF
|
||||
Bookman Old Style-I C:\Windows\Fonts\BOOKOSI.TTF
|
||||
Bradley Hand ITC C:\Windows\Fonts\BRADHITC.TTF
|
||||
Britannic Bold C:\Windows\Fonts\BRITANIC.TTF
|
||||
Berlin Sans FB-B C:\Windows\Fonts\BRLNSB.TTF
|
||||
Berlin Sans FB Demi-B C:\Windows\Fonts\BRLNSDB.TTF
|
||||
Berlin Sans FB C:\Windows\Fonts\BRLNSR.TTF
|
||||
Broadway C:\Windows\Fonts\BROADW.TTF
|
||||
Brush Script MT-I C:\Windows\Fonts\BRUSHSCI.TTF
|
||||
Bookshelf Symbol 7 C:\Windows\Fonts\BSSYM7.TTF
|
||||
Calibri C:\Windows\Fonts\calibri.ttf
|
||||
Calibri-B C:\Windows\Fonts\calibrib.ttf
|
||||
Calibri-I C:\Windows\Fonts\calibrii.ttf
|
||||
Calibri Light C:\Windows\Fonts\calibril.ttf
|
||||
Calibri Light-I C:\Windows\Fonts\calibrili.ttf
|
||||
Calibri-B-I C:\Windows\Fonts\calibriz.ttf
|
||||
Californian FB-B C:\Windows\Fonts\CALIFB.TTF
|
||||
Californian FB-I C:\Windows\Fonts\CALIFI.TTF
|
||||
Californian FB C:\Windows\Fonts\CALIFR.TTF
|
||||
Calisto MT C:\Windows\Fonts\CALIST.TTF
|
||||
Calisto MT-B C:\Windows\Fonts\CALISTB.TTF
|
||||
Calisto MT-B-I C:\Windows\Fonts\CALISTBI.TTF
|
||||
Calisto MT-I C:\Windows\Fonts\CALISTI.TTF
|
||||
Cambria C:\Windows\Fonts\cambria.ttc
|
||||
Cambria Math C:\Windows\Fonts\cambria.ttc
|
||||
Cambria-B C:\Windows\Fonts\cambriab.ttf
|
||||
Cambria-I C:\Windows\Fonts\cambriai.ttf
|
||||
Cambria-B-I C:\Windows\Fonts\cambriaz.ttf
|
||||
Candara C:\Windows\Fonts\Candara.ttf
|
||||
Candara-B C:\Windows\Fonts\Candarab.ttf
|
||||
Candara-I C:\Windows\Fonts\Candarai.ttf
|
||||
Candara Light C:\Windows\Fonts\Candaral.ttf
|
||||
Candara Light-I C:\Windows\Fonts\Candarali.ttf
|
||||
Candara-B-I C:\Windows\Fonts\Candaraz.ttf
|
||||
Castellar C:\Windows\Fonts\CASTELAR.TTF
|
||||
Century Schoolbook C:\Windows\Fonts\CENSCBK.TTF
|
||||
Centaur C:\Windows\Fonts\CENTAUR.TTF
|
||||
Century C:\Windows\Fonts\CENTURY.TTF
|
||||
Chiller C:\Windows\Fonts\CHILLER.TTF
|
||||
Code39AzaleaNarrow1 C:\Windows\Fonts\Code39AzaleaNarrow1.ttf
|
||||
Code39AzaleaNarrow2 C:\Windows\Fonts\Code39AzaleaNarrow2.ttf
|
||||
Code39AzaleaNarrow3 C:\Windows\Fonts\Code39AzaleaNarrow3.ttf
|
||||
Code39AzaleaRegular1 C:\Windows\Fonts\Code39AzaleaRegular1.ttf
|
||||
Code39AzaleaRegular2 C:\Windows\Fonts\Code39AzaleaRegular2.ttf
|
||||
Code39AzaleaRegular3 C:\Windows\Fonts\Code39AzaleaRegular3.ttf
|
||||
Code39AzaleaWide1 C:\Windows\Fonts\Code39AzaleaWide1.ttf
|
||||
Code39AzaleaWide2 C:\Windows\Fonts\Code39AzaleaWide2.ttf
|
||||
Code39AzaleaWide3 C:\Windows\Fonts\Code39AzaleaWide3.ttf
|
||||
Colonna MT C:\Windows\Fonts\COLONNA.TTF
|
||||
Comic Sans MS C:\Windows\Fonts\comic.ttf
|
||||
Comic Sans MS-B C:\Windows\Fonts\comicbd.ttf
|
||||
Comic Sans MS-I C:\Windows\Fonts\comici.ttf
|
||||
Comic Sans MS-B-I C:\Windows\Fonts\comicz.ttf
|
||||
Consolas C:\Windows\Fonts\consola.ttf
|
||||
Consolas-B C:\Windows\Fonts\consolab.ttf
|
||||
Consolas-I C:\Windows\Fonts\consolai.ttf
|
||||
Consolas-B-I C:\Windows\Fonts\consolaz.ttf
|
||||
Constantia C:\Windows\Fonts\constan.ttf
|
||||
Constantia-B C:\Windows\Fonts\constanb.ttf
|
||||
Constantia-I C:\Windows\Fonts\constani.ttf
|
||||
Constantia-B-I C:\Windows\Fonts\constanz.ttf
|
||||
Cooper Black C:\Windows\Fonts\COOPBL.TTF
|
||||
Copperplate Gothic Bold C:\Windows\Fonts\COPRGTB.TTF
|
||||
Copperplate Gothic Light C:\Windows\Fonts\COPRGTL.TTF
|
||||
Corbel C:\Windows\Fonts\corbel.ttf
|
||||
Corbel-B C:\Windows\Fonts\corbelb.ttf
|
||||
Corbel-I C:\Windows\Fonts\corbeli.ttf
|
||||
Corbel Light C:\Windows\Fonts\corbell.ttf
|
||||
Corbel Light-I C:\Windows\Fonts\corbelli.ttf
|
||||
Corbel-B-I C:\Windows\Fonts\corbelz.ttf
|
||||
Courier New C:\Windows\Fonts\cour.ttf
|
||||
Courier New-B C:\Windows\Fonts\courbd.ttf
|
||||
Courier New-B-I C:\Windows\Fonts\courbi.ttf
|
||||
Courier New-I C:\Windows\Fonts\couri.ttf
|
||||
Curlz MT C:\Windows\Fonts\CURLZ___.TTF
|
||||
Dubai Bold-B C:\Windows\Fonts\DUBAI-BOLD.TTF
|
||||
Dubai-B C:\Windows\Fonts\DUBAI-BOLD.TTF
|
||||
Dubai Light C:\Windows\Fonts\DUBAI-LIGHT.TTF
|
||||
Dubai Medium C:\Windows\Fonts\DUBAI-MEDIUM.TTF
|
||||
Dubai Regular C:\Windows\Fonts\DUBAI-REGULAR.TTF
|
||||
Dubai C:\Windows\Fonts\DUBAI-REGULAR.TTF
|
||||
Ebrima C:\Windows\Fonts\ebrima.ttf
|
||||
Ebrima-B C:\Windows\Fonts\ebrimabd.ttf
|
||||
Elephant C:\Windows\Fonts\ELEPHNT.TTF
|
||||
Elephant-I C:\Windows\Fonts\ELEPHNTI.TTF
|
||||
Engravers MT C:\Windows\Fonts\ENGR.TTF
|
||||
Eras Bold ITC C:\Windows\Fonts\ERASBD.TTF
|
||||
Eras Demi ITC C:\Windows\Fonts\ERASDEMI.TTF
|
||||
Eras Light ITC C:\Windows\Fonts\ERASLGHT.TTF
|
||||
Eras Medium ITC C:\Windows\Fonts\ERASMD.TTF
|
||||
Felix Titling C:\Windows\Fonts\FELIXTI.TTF
|
||||
Forte-I C:\Windows\Fonts\FORTE.TTF
|
||||
Franklin Gothic Book C:\Windows\Fonts\FRABK.TTF
|
||||
Franklin Gothic Book-I C:\Windows\Fonts\FRABKIT.TTF
|
||||
Franklin Gothic Demi C:\Windows\Fonts\FRADM.TTF
|
||||
Franklin Gothic Demi Cond C:\Windows\Fonts\FRADMCN.TTF
|
||||
Franklin Gothic Demi-I C:\Windows\Fonts\FRADMIT.TTF
|
||||
Franklin Gothic Heavy C:\Windows\Fonts\FRAHV.TTF
|
||||
Franklin Gothic Heavy-I C:\Windows\Fonts\FRAHVIT.TTF
|
||||
Franklin Gothic Medium C:\Windows\Fonts\framd.ttf
|
||||
Franklin Gothic Medium Cond C:\Windows\Fonts\FRAMDCN.TTF
|
||||
Franklin Gothic Medium-I C:\Windows\Fonts\framdit.ttf
|
||||
Freestyle Script C:\Windows\Fonts\FREESCPT.TTF
|
||||
French Script MT C:\Windows\Fonts\FRSCRIPT.TTF
|
||||
Footlight MT Light C:\Windows\Fonts\FTLTLT.TTF
|
||||
Gabriola C:\Windows\Fonts\Gabriola.ttf
|
||||
Gadugi C:\Windows\Fonts\gadugi.ttf
|
||||
Gadugi-B C:\Windows\Fonts\gadugib.ttf
|
||||
Garamond C:\Windows\Fonts\GARA.TTF
|
||||
Garamond-B C:\Windows\Fonts\GARABD.TTF
|
||||
Garamond-I C:\Windows\Fonts\GARAIT.TTF
|
||||
Georgia C:\Windows\Fonts\georgia.ttf
|
||||
Georgia-B C:\Windows\Fonts\georgiab.ttf
|
||||
Georgia-I C:\Windows\Fonts\georgiai.ttf
|
||||
Georgia-B-I C:\Windows\Fonts\georgiaz.ttf
|
||||
Gigi C:\Windows\Fonts\GIGI.TTF
|
||||
Gill Sans MT-B-I C:\Windows\Fonts\GILBI___.TTF
|
||||
Gill Sans MT-B C:\Windows\Fonts\GILB____.TTF
|
||||
Gill Sans MT Condensed C:\Windows\Fonts\GILC____.TTF
|
||||
Gill Sans MT-I C:\Windows\Fonts\GILI____.TTF
|
||||
Gill Sans Ultra Bold Condensed C:\Windows\Fonts\GILLUBCD.TTF
|
||||
Gill Sans Ultra Bold C:\Windows\Fonts\GILSANUB.TTF
|
||||
Gill Sans MT C:\Windows\Fonts\GIL_____.TTF
|
||||
Gloucester MT Extra Condensed C:\Windows\Fonts\GLECB.TTF
|
||||
Gill Sans MT Ext Condensed Bold C:\Windows\Fonts\GLSNECB.TTF
|
||||
Century Gothic C:\Windows\Fonts\GOTHIC.TTF
|
||||
Century Gothic-B C:\Windows\Fonts\GOTHICB.TTF
|
||||
Century Gothic-B-I C:\Windows\Fonts\GOTHICBI.TTF
|
||||
Century Gothic-I C:\Windows\Fonts\GOTHICI.TTF
|
||||
Goudy Old Style C:\Windows\Fonts\GOUDOS.TTF
|
||||
Goudy Old Style-B C:\Windows\Fonts\GOUDOSB.TTF
|
||||
Goudy Old Style-I C:\Windows\Fonts\GOUDOSI.TTF
|
||||
Goudy Stout C:\Windows\Fonts\GOUDYSTO.TTF
|
||||
Harlow Solid Italic-I C:\Windows\Fonts\HARLOWSI.TTF
|
||||
Harrington C:\Windows\Fonts\HARNGTON.TTF
|
||||
Haettenschweiler C:\Windows\Fonts\HATTEN.TTF
|
||||
Microsoft Himalaya C:\Windows\Fonts\himalaya.ttf
|
||||
HoloLens MDL2 Assets C:\Windows\Fonts\holomdl2.ttf
|
||||
High Tower Text C:\Windows\Fonts\HTOWERT.TTF
|
||||
High Tower Text-I C:\Windows\Fonts\HTOWERTI.TTF
|
||||
Impact C:\Windows\Fonts\impact.ttf
|
||||
Imprint MT Shadow C:\Windows\Fonts\IMPRISHA.TTF
|
||||
Informal Roman C:\Windows\Fonts\INFROMAN.TTF
|
||||
Ink Free C:\Windows\Fonts\Inkfree.ttf
|
||||
Blackadder ITC C:\Windows\Fonts\ITCBLKAD.TTF
|
||||
Edwardian Script ITC C:\Windows\Fonts\ITCEDSCR.TTF
|
||||
Kristen ITC C:\Windows\Fonts\ITCKRIST.TTF
|
||||
Javanese Text C:\Windows\Fonts\javatext.ttf
|
||||
Jokerman C:\Windows\Fonts\JOKERMAN.TTF
|
||||
Juice ITC C:\Windows\Fonts\JUICE___.TTF
|
||||
Kunstler Script C:\Windows\Fonts\KUNSTLER.TTF
|
||||
Wide Latin C:\Windows\Fonts\LATINWD.TTF
|
||||
Lucida Bright C:\Windows\Fonts\LBRITE.TTF
|
||||
Lucida Bright-B C:\Windows\Fonts\LBRITED.TTF
|
||||
Lucida Bright-B-I C:\Windows\Fonts\LBRITEDI.TTF
|
||||
Lucida Bright-I C:\Windows\Fonts\LBRITEI.TTF
|
||||
Lucida Calligraphy-I C:\Windows\Fonts\LCALLIG.TTF
|
||||
Leelawadee UI-B C:\Windows\Fonts\LeelaUIb.ttf
|
||||
Leelawadee C:\Windows\Fonts\LEELAWAD.TTF
|
||||
Leelawadee-B C:\Windows\Fonts\LEELAWDB.TTF
|
||||
Leelawadee UI C:\Windows\Fonts\LeelawUI.ttf
|
||||
Leelawadee UI Semilight C:\Windows\Fonts\LeelUIsl.ttf
|
||||
Lucida Fax C:\Windows\Fonts\LFAX.TTF
|
||||
Lucida Fax-B C:\Windows\Fonts\LFAXD.TTF
|
||||
Lucida Fax-B-I C:\Windows\Fonts\LFAXDI.TTF
|
||||
Lucida Fax-I C:\Windows\Fonts\LFAXI.TTF
|
||||
Lucida Handwriting-I C:\Windows\Fonts\LHANDW.TTF
|
||||
Lucida Sans C:\Windows\Fonts\LSANS.TTF
|
||||
Lucida Sans-B C:\Windows\Fonts\LSANSD.TTF
|
||||
Lucida Sans-B-I C:\Windows\Fonts\LSANSDI.TTF
|
||||
Lucida Sans-I C:\Windows\Fonts\LSANSI.TTF
|
||||
Lucida Sans Typewriter C:\Windows\Fonts\LTYPE.TTF
|
||||
Lucida Sans Typewriter-B C:\Windows\Fonts\LTYPEB.TTF
|
||||
Lucida Sans Typewriter-B-I C:\Windows\Fonts\LTYPEBO.TTF
|
||||
Lucida Sans Typewriter-I C:\Windows\Fonts\LTYPEO.TTF
|
||||
Lucida Console C:\Windows\Fonts\lucon.ttf
|
||||
Lucida Sans Unicode C:\Windows\Fonts\l_10646.ttf
|
||||
Magneto-B C:\Windows\Fonts\MAGNETOB.TTF
|
||||
Maiandra GD C:\Windows\Fonts\MAIAN.TTF
|
||||
Malgun Gothic C:\Windows\Fonts\malgun.ttf
|
||||
맑은 고딕 C:\Windows\Fonts\malgun.ttf
|
||||
Malgun Gothic-B C:\Windows\Fonts\malgunbd.ttf
|
||||
맑은 고딕-B C:\Windows\Fonts\malgunbd.ttf
|
||||
Malgun Gothic Semilight C:\Windows\Fonts\malgunsl.ttf
|
||||
맑은 고딕 Semilight C:\Windows\Fonts\malgunsl.ttf
|
||||
Marlett C:\Windows\Fonts\marlett.ttf
|
||||
Matura MT Script Capitals C:\Windows\Fonts\MATURASC.TTF
|
||||
Microsoft Sans Serif C:\Windows\Fonts\micross.ttf
|
||||
MingLiU-ExtB C:\Windows\Fonts\mingliub.ttc
|
||||
細明體-ExtB C:\Windows\Fonts\mingliub.ttc
|
||||
PMingLiU-ExtB C:\Windows\Fonts\mingliub.ttc
|
||||
新細明體-ExtB C:\Windows\Fonts\mingliub.ttc
|
||||
MingLiU_HKSCS-ExtB C:\Windows\Fonts\mingliub.ttc
|
||||
細明體_HKSCS-ExtB C:\Windows\Fonts\mingliub.ttc
|
||||
Mistral C:\Windows\Fonts\MISTRAL.TTF
|
||||
Myanmar Text C:\Windows\Fonts\mmrtext.ttf
|
||||
Myanmar Text-B C:\Windows\Fonts\mmrtextb.ttf
|
||||
Modern No. 20 C:\Windows\Fonts\MOD20.TTF
|
||||
Mongolian Baiti C:\Windows\Fonts\monbaiti.ttf
|
||||
MS Gothic C:\Windows\Fonts\msgothic.ttc
|
||||
MS ゴシック C:\Windows\Fonts\msgothic.ttc
|
||||
MS UI Gothic C:\Windows\Fonts\msgothic.ttc
|
||||
MS PGothic C:\Windows\Fonts\msgothic.ttc
|
||||
MS Pゴシック C:\Windows\Fonts\msgothic.ttc
|
||||
微軟正黑體 C:\Windows\Fonts\msjh.ttc
|
||||
Microsoft JhengHei C:\Windows\Fonts\msjh.ttc
|
||||
Microsoft JhengHei UI C:\Windows\Fonts\msjh.ttc
|
||||
微軟正黑體-B C:\Windows\Fonts\msjhbd.ttc
|
||||
Microsoft JhengHei-B C:\Windows\Fonts\msjhbd.ttc
|
||||
Microsoft JhengHei UI-B C:\Windows\Fonts\msjhbd.ttc
|
||||
微軟正黑體 Light C:\Windows\Fonts\msjhl.ttc
|
||||
Microsoft JhengHei Light C:\Windows\Fonts\msjhl.ttc
|
||||
Microsoft JhengHei UI Light C:\Windows\Fonts\msjhl.ttc
|
||||
Microsoft Uighur-B C:\Windows\Fonts\MSUIGHUB.TTF
|
||||
Microsoft Uighur C:\Windows\Fonts\MSUIGHUR.TTF
|
||||
Microsoft YaHei C:\Windows\Fonts\msyh.ttc
|
||||
微软雅黑 C:\Windows\Fonts\msyh.ttc
|
||||
Microsoft YaHei UI C:\Windows\Fonts\msyh.ttc
|
||||
Microsoft YaHei-B C:\Windows\Fonts\msyhbd.ttc
|
||||
微软雅黑-B C:\Windows\Fonts\msyhbd.ttc
|
||||
Microsoft YaHei UI-B C:\Windows\Fonts\msyhbd.ttc
|
||||
Microsoft YaHei Light C:\Windows\Fonts\msyhl.ttc
|
||||
微软雅黑 Light C:\Windows\Fonts\msyhl.ttc
|
||||
Microsoft YaHei UI Light C:\Windows\Fonts\msyhl.ttc
|
||||
Microsoft Yi Baiti C:\Windows\Fonts\msyi.ttf
|
||||
Monotype Corsiva-I C:\Windows\Fonts\MTCORSVA.TTF
|
||||
MT Extra C:\Windows\Fonts\MTEXTRA.TTF
|
||||
MV Boli-I C:\Windows\Fonts\mvboli.ttf
|
||||
Netto Offc Regular C:\Windows\Fonts\NettoOffc.ttf
|
||||
Netto Offc C:\Windows\Fonts\NettoOffc.ttf
|
||||
Niagara Engraved C:\Windows\Fonts\NIAGENG.TTF
|
||||
Niagara Solid C:\Windows\Fonts\NIAGSOL.TTF
|
||||
Nirmala UI C:\Windows\Fonts\Nirmala.ttf
|
||||
Nirmala UI-B C:\Windows\Fonts\NirmalaB.ttf
|
||||
Nirmala UI Semilight C:\Windows\Fonts\NirmalaS.ttf
|
||||
Microsoft New Tai Lue C:\Windows\Fonts\ntailu.ttf
|
||||
Microsoft New Tai Lue-B C:\Windows\Fonts\ntailub.ttf
|
||||
OCR A Extended C:\Windows\Fonts\OCRAEXT.TTF
|
||||
Old English Text MT C:\Windows\Fonts\OLDENGL.TTF
|
||||
Onyx C:\Windows\Fonts\ONYX.TTF
|
||||
MS Outlook C:\Windows\Fonts\OUTLOOK.TTF
|
||||
Palatino Linotype C:\Windows\Fonts\pala.ttf
|
||||
Palatino Linotype-B C:\Windows\Fonts\palab.ttf
|
||||
Palatino Linotype-B-I C:\Windows\Fonts\palabi.ttf
|
||||
Palatino Linotype-I C:\Windows\Fonts\palai.ttf
|
||||
Palace Script MT-I C:\Windows\Fonts\PALSCRI.TTF
|
||||
Papyrus C:\Windows\Fonts\PAPYRUS.TTF
|
||||
Parchment C:\Windows\Fonts\PARCHM.TTF
|
||||
Perpetua-B-I C:\Windows\Fonts\PERBI___.TTF
|
||||
Perpetua-B C:\Windows\Fonts\PERB____.TTF
|
||||
Perpetua-I C:\Windows\Fonts\PERI____.TTF
|
||||
Perpetua Titling MT-B C:\Windows\Fonts\PERTIBD.TTF
|
||||
Perpetua Titling MT C:\Windows\Fonts\PERTILI.TTF
|
||||
Perpetua C:\Windows\Fonts\PER_____.TTF
|
||||
Microsoft PhagsPa C:\Windows\Fonts\phagspa.ttf
|
||||
Microsoft PhagsPa-B C:\Windows\Fonts\phagspab.ttf
|
||||
Playbill C:\Windows\Fonts\PLAYBILL.TTF
|
||||
Poor Richard C:\Windows\Fonts\POORICH.TTF
|
||||
Pristina C:\Windows\Fonts\PRISTINA.TTF
|
||||
Rage Italic C:\Windows\Fonts\RAGE.TTF
|
||||
Ravie C:\Windows\Fonts\RAVIE.TTF
|
||||
MS Reference Sans Serif C:\Windows\Fonts\REFSAN.TTF
|
||||
MS Reference Specialty C:\Windows\Fonts\REFSPCL.TTF
|
||||
Rockwell Condensed-B C:\Windows\Fonts\ROCCB___.TTF
|
||||
Rockwell Condensed C:\Windows\Fonts\ROCC____.TTF
|
||||
Rockwell C:\Windows\Fonts\ROCK.TTF
|
||||
Rockwell-B C:\Windows\Fonts\ROCKB.TTF
|
||||
Rockwell-B-I C:\Windows\Fonts\ROCKBI.TTF
|
||||
Rockwell Extra Bold-B C:\Windows\Fonts\ROCKEB.TTF
|
||||
Rockwell-I C:\Windows\Fonts\ROCKI.TTF
|
||||
Century Schoolbook-B C:\Windows\Fonts\SCHLBKB.TTF
|
||||
Century Schoolbook-B-I C:\Windows\Fonts\SCHLBKBI.TTF
|
||||
Century Schoolbook-I C:\Windows\Fonts\SCHLBKI.TTF
|
||||
Script MT Bold-B C:\Windows\Fonts\SCRIPTBL.TTF
|
||||
Segoe MDL2 Assets C:\Windows\Fonts\segmdl2.ttf
|
||||
Segoe Print C:\Windows\Fonts\segoepr.ttf
|
||||
Segoe Print-B C:\Windows\Fonts\segoeprb.ttf
|
||||
Segoe Script C:\Windows\Fonts\segoesc.ttf
|
||||
Segoe Script-B C:\Windows\Fonts\segoescb.ttf
|
||||
Segoe UI C:\Windows\Fonts\segoeui.ttf
|
||||
Segoe UI-B C:\Windows\Fonts\segoeuib.ttf
|
||||
Segoe UI-I C:\Windows\Fonts\segoeuii.ttf
|
||||
Segoe UI Light C:\Windows\Fonts\segoeuil.ttf
|
||||
Segoe UI Semilight C:\Windows\Fonts\segoeuisl.ttf
|
||||
Segoe UI-B-I C:\Windows\Fonts\segoeuiz.ttf
|
||||
Segoe UI Black-B C:\Windows\Fonts\seguibl.ttf
|
||||
Segoe UI Black-B-I C:\Windows\Fonts\seguibli.ttf
|
||||
Segoe UI Emoji C:\Windows\Fonts\seguiemj.ttf
|
||||
Segoe UI Historic C:\Windows\Fonts\seguihis.ttf
|
||||
Segoe UI Light-I C:\Windows\Fonts\seguili.ttf
|
||||
Segoe UI Semibold-B C:\Windows\Fonts\seguisb.ttf
|
||||
Segoe UI Semibold-B-I C:\Windows\Fonts\seguisbi.ttf
|
||||
Segoe UI Semilight-I C:\Windows\Fonts\seguisli.ttf
|
||||
Segoe UI Symbol C:\Windows\Fonts\seguisym.ttf
|
||||
Showcard Gothic C:\Windows\Fonts\SHOWG.TTF
|
||||
SimSun C:\Windows\Fonts\simsun.ttc
|
||||
宋体 C:\Windows\Fonts\simsun.ttc
|
||||
NSimSun C:\Windows\Fonts\simsun.ttc
|
||||
新宋体 C:\Windows\Fonts\simsun.ttc
|
||||
SimSun-ExtB C:\Windows\Fonts\simsunb.ttf
|
||||
Sitka Small C:\Windows\Fonts\Sitka.ttc
|
||||
Sitka Text C:\Windows\Fonts\Sitka.ttc
|
||||
Sitka Subheading C:\Windows\Fonts\Sitka.ttc
|
||||
Sitka Heading C:\Windows\Fonts\Sitka.ttc
|
||||
Sitka Display C:\Windows\Fonts\Sitka.ttc
|
||||
Sitka Banner C:\Windows\Fonts\Sitka.ttc
|
||||
Sitka Small-B C:\Windows\Fonts\SitkaB.ttc
|
||||
Sitka Text-B C:\Windows\Fonts\SitkaB.ttc
|
||||
Sitka Subheading-B C:\Windows\Fonts\SitkaB.ttc
|
||||
Sitka Heading-B C:\Windows\Fonts\SitkaB.ttc
|
||||
Sitka Display-B C:\Windows\Fonts\SitkaB.ttc
|
||||
Sitka Banner-B C:\Windows\Fonts\SitkaB.ttc
|
||||
Sitka Small-I C:\Windows\Fonts\SitkaI.ttc
|
||||
Sitka Text-I C:\Windows\Fonts\SitkaI.ttc
|
||||
Sitka Subheading-I C:\Windows\Fonts\SitkaI.ttc
|
||||
Sitka Heading-I C:\Windows\Fonts\SitkaI.ttc
|
||||
Sitka Display-I C:\Windows\Fonts\SitkaI.ttc
|
||||
Sitka Banner-I C:\Windows\Fonts\SitkaI.ttc
|
||||
Sitka Small-B-I C:\Windows\Fonts\SitkaZ.ttc
|
||||
Sitka Text-B-I C:\Windows\Fonts\SitkaZ.ttc
|
||||
Sitka Subheading-B-I C:\Windows\Fonts\SitkaZ.ttc
|
||||
Sitka Heading-B-I C:\Windows\Fonts\SitkaZ.ttc
|
||||
Sitka Display-B-I C:\Windows\Fonts\SitkaZ.ttc
|
||||
Sitka Banner-B-I C:\Windows\Fonts\SitkaZ.ttc
|
||||
Snap ITC C:\Windows\Fonts\SNAP____.TTF
|
||||
Stencil C:\Windows\Fonts\STENCIL.TTF
|
||||
Sylfaen C:\Windows\Fonts\sylfaen.ttf
|
||||
Symbol C:\Windows\Fonts\symbol.ttf
|
||||
Tahoma C:\Windows\Fonts\tahoma.ttf
|
||||
Tahoma-B C:\Windows\Fonts\tahomabd.ttf
|
||||
Microsoft Tai Le C:\Windows\Fonts\taile.ttf
|
||||
Microsoft Tai Le-B C:\Windows\Fonts\taileb.ttf
|
||||
Tw Cen MT-B-I C:\Windows\Fonts\TCBI____.TTF
|
||||
Tw Cen MT-B C:\Windows\Fonts\TCB_____.TTF
|
||||
Tw Cen MT Condensed-B C:\Windows\Fonts\TCCB____.TTF
|
||||
Tw Cen MT Condensed Extra Bold C:\Windows\Fonts\TCCEB.TTF
|
||||
Tw Cen MT Condensed C:\Windows\Fonts\TCCM____.TTF
|
||||
Tw Cen MT-I C:\Windows\Fonts\TCMI____.TTF
|
||||
Tw Cen MT C:\Windows\Fonts\TCM_____.TTF
|
||||
TeamViewer15 C:\Windows\Fonts\teamviewer15.otf
|
||||
Tempus Sans ITC C:\Windows\Fonts\TEMPSITC.TTF
|
||||
Times New Roman C:\Windows\Fonts\times.ttf
|
||||
Times New Roman-B C:\Windows\Fonts\timesbd.ttf
|
||||
Times New Roman-B-I C:\Windows\Fonts\timesbi.ttf
|
||||
Times New Roman-I C:\Windows\Fonts\timesi.ttf
|
||||
Trebuchet MS C:\Windows\Fonts\trebuc.ttf
|
||||
Trebuchet MS-B C:\Windows\Fonts\trebucbd.ttf
|
||||
Trebuchet MS-B-I C:\Windows\Fonts\trebucbi.ttf
|
||||
Trebuchet MS-I C:\Windows\Fonts\trebucit.ttf
|
||||
Verdana C:\Windows\Fonts\verdana.ttf
|
||||
Verdana-B C:\Windows\Fonts\verdanab.ttf
|
||||
Verdana-I C:\Windows\Fonts\verdanai.ttf
|
||||
Verdana-B-I C:\Windows\Fonts\verdanaz.ttf
|
||||
Viner Hand ITC C:\Windows\Fonts\VINERITC.TTF
|
||||
Vivaldi-I C:\Windows\Fonts\VIVALDII.TTF
|
||||
Vladimir Script C:\Windows\Fonts\VLADIMIR.TTF
|
||||
Webdings C:\Windows\Fonts\webdings.ttf
|
||||
Wingdings C:\Windows\Fonts\wingding.ttf
|
||||
Wingdings 2 C:\Windows\Fonts\WINGDNG2.TTF
|
||||
Wingdings 3 C:\Windows\Fonts\WINGDNG3.TTF
|
||||
Yu Gothic-B C:\Windows\Fonts\YuGothB.ttc
|
||||
游ゴシック-B C:\Windows\Fonts\YuGothB.ttc
|
||||
Yu Gothic UI-B C:\Windows\Fonts\YuGothB.ttc
|
||||
Yu Gothic UI Semibold-B C:\Windows\Fonts\YuGothB.ttc
|
||||
Yu Gothic Light C:\Windows\Fonts\YuGothL.ttc
|
||||
游ゴシック Light C:\Windows\Fonts\YuGothL.ttc
|
||||
Yu Gothic UI Light C:\Windows\Fonts\YuGothL.ttc
|
||||
Yu Gothic Medium C:\Windows\Fonts\YuGothM.ttc
|
||||
游ゴシック Medium C:\Windows\Fonts\YuGothM.ttc
|
||||
Yu Gothic UI C:\Windows\Fonts\YuGothM.ttc
|
||||
Yu Gothic C:\Windows\Fonts\YuGothR.ttc
|
||||
游ゴシック C:\Windows\Fonts\YuGothR.ttc
|
||||
Yu Gothic UI Semilight C:\Windows\Fonts\YuGothR.ttc
|
||||
ZWAdobeF-I C:\Windows\Fonts\ZWAdobeF.TTF
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user