init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -0,0 +1,288 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Net.Http.Headers;
|
||||
using System.Web.Http;
|
||||
using System.Web.Http.ModelBinding;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.BusinessLogic.Logic;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.BusinessLogic.Utils;
|
||||
using Kreta.Core;
|
||||
using Kreta.Framework.Util;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Tanar.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Security;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Kreta.Web.Areas.Tanar.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Tanar.ClaimValue)]
|
||||
public class HaziFeladatCsatolmanyokApiController : ApiController
|
||||
{
|
||||
private readonly IFileServiceHelper fileServiceHelper;
|
||||
|
||||
public HaziFeladatCsatolmanyokApiController(IFileServiceHelper fileServiceHelper)
|
||||
{
|
||||
this.fileServiceHelper = fileServiceHelper ?? throw new ArgumentNullException(nameof(fileServiceHelper));
|
||||
}
|
||||
|
||||
public DataSourceResult GetHFCsatolmanyokGrid(string data, DataSourceRequest request)
|
||||
{
|
||||
var (gridParameter, modelList) = GetGridData(data, request);
|
||||
|
||||
return modelList.ToDataSourceResult(gridParameter);
|
||||
}
|
||||
|
||||
public HttpResponseMessage GetExport(string data, DataSourceRequest request)
|
||||
{
|
||||
try
|
||||
{
|
||||
var (gridParameter, modelList) = GetGridData(data, request);
|
||||
|
||||
modelList = modelList.SortingAndPaging(gridParameter.OrderDictionary);
|
||||
|
||||
var simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos<HFCsatolmanyGridModel>(HFCsatolmanyGridModel.HazifeladatCsatolmanyExportAttributeId);
|
||||
|
||||
var memoryStream = SimpleExportLogic.GetExport(OrarendResource.HazifeladatExportSheetName, simpleExportColumnCos, modelList, ClaimData.SelectedTanevID.Value);
|
||||
|
||||
return HttpResponseExtensions.GetFileHttpResponse(memoryStream.ToArray(), OrarendResource.HazifeladatCsatolmanyExportFileName);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAFajlExportalasaKozben) { UnHandledException = ex };
|
||||
}
|
||||
}
|
||||
|
||||
private (GridParameters gridParameter, List<HFCsatolmanyGridModel> modelList) GetGridData(string data, DataSourceRequest request)
|
||||
{
|
||||
data = data.Replace("-", "");
|
||||
|
||||
var model = JsonConvert.DeserializeObject<HFCsatolmanyokSearchModel>(data) ?? new HFCsatolmanyokSearchModel();
|
||||
|
||||
var gridParameter = Converter.GridParameter(request);
|
||||
|
||||
var tanarId = ClaimData.IsAdministrator ? (int?)null : ClaimData.FelhasznaloId;
|
||||
|
||||
var coList = new DktFileHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetHazifeladatCsatolmanyCoList(model.ConvertModelToCo(tanarId));
|
||||
|
||||
var modelList = new List<HFCsatolmanyGridModel>();
|
||||
foreach (var co in coList)
|
||||
{
|
||||
var gridModel = new HFCsatolmanyGridModel(co);
|
||||
modelList.Add(gridModel);
|
||||
}
|
||||
|
||||
return (gridParameter, modelList);
|
||||
}
|
||||
|
||||
public DataSourceResult GetHFCsatolmanyokGridForHazi(int haziFeladatId, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new DktFileHelper(ConnectionTypeExtensions.GetSessionConnectionType())
|
||||
{
|
||||
GridParameters = Converter.GridParameter(request)
|
||||
};
|
||||
|
||||
DataSet ds = helper.GetCsatolmanyokForHaziFeladatDataSet(haziFeladatId);
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteCsatolmany([FromBody] int id)
|
||||
{
|
||||
try
|
||||
{
|
||||
var helper = new DktFileHelper(ConnectionTypeExtensions.GetSessionConnectionType(), fileServiceHelper);
|
||||
helper.DeleteCsatolmany(id, true);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.FajlTorleseSikertelen) { UnHandledException = ex };
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteSelectedCsatolmany(List<int> idList)
|
||||
{
|
||||
try
|
||||
{
|
||||
var helper = new DktFileHelper(ConnectionTypeExtensions.GetSessionConnectionType(), fileServiceHelper);
|
||||
|
||||
foreach (var item in idList)
|
||||
{
|
||||
helper.DeleteCsatolmany(item, true);
|
||||
}
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.FajlokTorleseSikertelen) { UnHandledException = ex };
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Tanar.ClaimValue, KretaClaimPackages.Tanulo.ClaimValue)]
|
||||
public HttpResponseMessage DownloadCsatolmanyFile(DownloadModel model)
|
||||
{
|
||||
try
|
||||
{
|
||||
var helper = new DktFileHelper(ConnectionTypeExtensions.GetSessionConnectionType(), fileServiceHelper);
|
||||
var co = helper.GetCsatolmanyFile(model.Id);
|
||||
|
||||
HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK);
|
||||
response.Content = new StreamContent(co.Stream);
|
||||
response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment");
|
||||
response.Content.Headers.ContentDisposition.FileName = co.FileName;
|
||||
return response;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.InternalServerError);
|
||||
response.Content = new StringContent(@"
|
||||
<!DOCTYPE html>
|
||||
<html lang=""hu"">
|
||||
<head>
|
||||
<meta charset=""utf-8"" />
|
||||
<meta name=""format-detection"" content=""telephone=no"" />
|
||||
<meta name=""viewport"" content=""width=device-width, initial-scale=1.0"" />
|
||||
<meta http-equiv=""X-UA-Compatible"" content =""IE=Edge"" />
|
||||
<title>Hiba file letöltés során!</title>
|
||||
<link rel=""preconnect"" href=""https://fonts.googleapis.com"" crossorigin>
|
||||
<link rel=""preconnect"" href=""https://fonts.gstatic.com"" crossorigin>
|
||||
<link href=""https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,600;0,700;1,300;1,400;1,600&family=Roboto+Condensed:wght@300;400;700&display=swap"" rel=""stylesheet"">
|
||||
<link rel=""icon"" href=""~/favicon.ico"" type=""image/x-icon"">
|
||||
<style>
|
||||
html {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
height: 100%;
|
||||
font-family: ""Open Sans"";
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
color: #445261;
|
||||
background: #406a7c; /* For browsers that do not support gradients */
|
||||
background: -webkit-radial-gradient(circle, #518094, #406a7c); /* Safari */
|
||||
background: -o-radial-gradient(circle, #518094, #406a7c); /* Opera 11.6 to 12.0 */
|
||||
background: -moz-radial-gradient(circle, #518094, #406a7c); /* Firefox 3.6 to 15 */
|
||||
background: radial-gradient(circle, #518094, #406a7c); /* Standard syntax */
|
||||
}
|
||||
|
||||
# main {
|
||||
height: 100 %;
|
||||
top: 0;
|
||||
position: absolute;
|
||||
width: 100 %;
|
||||
background-repeat: no-repeat;
|
||||
background-position: bottom right 30px;
|
||||
}
|
||||
#main h2 {
|
||||
color: white;
|
||||
font-weight: 400;
|
||||
font-size: 2em;
|
||||
}
|
||||
#main .login_logo {
|
||||
margin: 0 auto;
|
||||
margin-top: 10%;
|
||||
width: 400px;
|
||||
display: block;
|
||||
background-position: center center;
|
||||
background-repeat: no-repeat;
|
||||
height: 100px;
|
||||
padding-top: 25px;
|
||||
}
|
||||
#main .login_container {
|
||||
width: 40%;
|
||||
margin: 0 auto;
|
||||
display: block;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
#main .login_problems {
|
||||
width: 100%;
|
||||
margin: 0 auto;
|
||||
display: block;
|
||||
background-color: transparent;
|
||||
line-height: 30px;
|
||||
color: white;
|
||||
}
|
||||
|
||||
#main .login_header {
|
||||
background-color: transparent;
|
||||
text-align: center;
|
||||
margin-top: 40px;
|
||||
}
|
||||
|
||||
#main .login_content {
|
||||
text-align: center;
|
||||
padding: 20px;
|
||||
-moz-box-sizing: border-box;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
overflow-y: auto;
|
||||
color: white;
|
||||
font-size: 18px;
|
||||
font-weight: 300;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id = ""main"" >
|
||||
<div class=""login_logo"">
|
||||
</div>
|
||||
|
||||
<div class=""login_container"">
|
||||
<div class=""login_header"">
|
||||
<h2>Hiba történt a file letöltése során!</h2>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class=""login_problems"">
|
||||
<div class=""login_content"">
|
||||
A file service nem elérhető jelenleg vagy a letölteni kívánt filet már törölték.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
");
|
||||
response.Content.Headers.ContentType = new MediaTypeHeaderValue("text/html");
|
||||
return response;
|
||||
}
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public Dictionary<string, string> GetFelhasznaloAdatmennyisege(int felhasznaloId)
|
||||
{
|
||||
Dictionary<string, string> result = new Dictionary<string, string>();
|
||||
|
||||
var dktFileHelper = new DktFileHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var osszMeret = dktFileHelper.GetHaziFeladatCsatolmanyokOsszMeret(felhasznaloId);
|
||||
var maxMegengedettAdatmennyiseg = dktFileHelper.GetMaxAdatmennyisegFelhasznalokent(felhasznaloId);
|
||||
|
||||
var marFeltoltottAdatmennyisegInMB = string.Format("{0:0.00}", CommonUtils.ConvertByteToMByte(osszMeret)); // DB-ben byte van
|
||||
var maxAdatmennyisegInMB = string.Format("{0:0.00}", CommonUtils.ConvertKByteToGByte(maxMegengedettAdatmennyiseg)); // DB-ben kByte van
|
||||
|
||||
result.Add("marFeltoltottAdatmennyiseg", ClaimData.IsAdministrator ? string.Format(TanarResource.MarFeltoltottAdatmennyiseg, marFeltoltottAdatmennyisegInMB) : string.Format(TanarResource.KorabbanMarFeltoltottAdatmennyiseg, marFeltoltottAdatmennyisegInMB));
|
||||
result.Add("maxAdatmennyiseg", ClaimData.IsAdministrator ? string.Format(TanarResource.FelhasznalokentMaxAdatmennyiseg, maxAdatmennyisegInMB) : string.Format(TanarResource.MaximalisMegengedettAdatmennyiseg, maxAdatmennyisegInMB));
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue