You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

146 lines
5.3 KiB

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Net.Http.Formatting;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Syncfusion.EJ2;
using BWPMModels;
using System.Collections;
using Syncfusion.EJ2.Base;
using Microsoft.Extensions.Configuration;
using Newtonsoft.Json;
using System.Reflection;
using App.Models;
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Authorization;
namespace App.Controllers
{
public partial class SchulhausController : Controller
{
private readonly UserManager<AppUser> _userManager;
private readonly SignInManager<AppUser> _signInManager;
public SchulhausController(UserManager<AppUser> userManager, SignInManager<AppUser> signInManager)
{
this._userManager = userManager;
this._signInManager = signInManager;
ViewBag.showadmin = "true";
}
[Authorize]
public IActionResult Index()
{
Helper.HttpClientHelper httpcli = new Helper.HttpClientHelper();
httpcli.CallService("Schulhaus", "", "GET", null);
if (httpcli.Results.resultstatus != true)
{
return View();
}
List<BWPMModels.Schulhaus> Schulhauss = JsonConvert.DeserializeObject<List<BWPMModels.Schulhaus>>(httpcli.Results.daten);
App.Helper.ParameterHelper ph = new App.Helper.ParameterHelper();
ViewBag.showadmin = ph.GetParameter("ShowAdmin");
ViewBag.DataSource = Schulhauss;
return View();
}
[HttpPost]
public IActionResult UrlDatasource([FromBody] DataManagerRequest dm)
{
Helper.HttpClientHelper httpcli = new Helper.HttpClientHelper();
httpcli.CallService("Schulhaus", "", "GET", null);
if (httpcli.Results.resultstatus != true)
{
return View();
}
List<BWPMModels.Schulhaus> Schulhauss = JsonConvert.DeserializeObject<List<BWPMModels.Schulhaus>>(httpcli.Results.daten);
App.Helper.ParameterHelper ph = new App.Helper.ParameterHelper();
ViewBag.showadmin = ph.GetParameter("ShowAdmin");
ViewBag.DataSource = Schulhauss;
IEnumerable DataSource = Schulhauss;
DataOperations operation = new DataOperations();
if (dm.Search != null && dm.Search.Count > 0)
{
DataSource = operation.PerformSearching(DataSource, dm.Search); //Search
}
if (dm.Sorted != null && dm.Sorted.Count > 0) //Sorting
{
DataSource = operation.PerformSorting(DataSource, dm.Sorted);
}
if (dm.Where != null && dm.Where.Count > 0)
{
DataSource = operation.PerformFiltering(DataSource, dm.Where, dm.Where[0].Operator); //Filtering
}
int count = DataSource.Cast<Schulhaus>().Count();
if (dm.Skip != 0)
{
DataSource = operation.PerformSkip(DataSource, dm.Skip); //Paging
}
if (dm.Take != 0)
{
DataSource = operation.PerformTake(DataSource, dm.Take);
}
return dm.RequiresCounts ? Json(new { result = DataSource, count = count }) : Json(DataSource);
}
public ActionResult Update([FromBody] ICRUDModel<BWPMModels.Schulhaus> value)
{
Helper.HttpClientHelper httpcli = new Helper.HttpClientHelper();
BWPMModels.Schulhaus u = new BWPMModels.Schulhaus();
u = value.value;
u.mutiert_am = DateTime.Now;
u.mutierer = Convert.ToString(_userManager.GetUserId(HttpContext.User));
httpcli.CallService("Schulhaus", u.ID.ToString(), "PUT", value.value);
if (httpcli.Results.resultstatuscode != "OK")
{
return View();
}
return Json(value.value);
}
public ActionResult Insert([FromBody] ICRUDModel<BWPMModels.Schulhaus> value)
{
Helper.HttpClientHelper httpcli = new Helper.HttpClientHelper();
BWPMModels.Schulhaus u = new BWPMModels.Schulhaus();
u = value.value;
u.mutiert_am = DateTime.Now;
u.mutierer = Convert.ToString(_userManager.GetUserId(HttpContext.User));
u.erstellt_am = DateTime.Now;
httpcli.CallService("Schulhaus", "", "POST", u);
if (httpcli.Results.resultstatuscode != "OK")
{
return View();
}
return Json(value.value);
}
public ActionResult Remove([FromBody] CRUDModel<BWPMModels.Schulhaus> value)
{
Helper.HttpClientHelper httpcli = new Helper.HttpClientHelper();
BWPMModels.Schulhaus u = new BWPMModels.Schulhaus();
u.mutiert_am = DateTime.Now;
u.mutierer = Convert.ToString(_userManager.GetUserId(HttpContext.User));
httpcli.CallService("Schulhaus", value.Key.ToString(), "DELETE", u);
if (httpcli.Results.resultstatuscode != "OK")
{
return View();
}
return Json(value);
}
}
}