init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -0,0 +1,157 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Text;
|
||||
using System.Web.Http;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Logic;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Core;
|
||||
using Kreta.Framework.Util;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Adatszolgaltatasok.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Adatszolgaltatasok.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class HittanOraszamApiController : ApiController
|
||||
{
|
||||
public DataSourceResult GetHittanOraszamGrid(DataSourceRequest request)
|
||||
{
|
||||
var (gridParameter, modelList) = GetGridData(request);
|
||||
|
||||
return modelList.ToDataSourceResult(gridParameter);
|
||||
}
|
||||
|
||||
public DataSourceResult GetHittanOraszamGridForJanuar(DataSourceRequest request)
|
||||
{
|
||||
var (gridParameter, modelList) = GetGridData(request, forJanuar: true);
|
||||
|
||||
return modelList.ToDataSourceResult(gridParameter);
|
||||
}
|
||||
|
||||
private (GridParameters gridParameter, List<HittanOraszamGridModel> modelList) GetGridData(DataSourceRequest request, bool forJanuar = false)
|
||||
{
|
||||
var gridParameter = Converter.GridParameter(request);
|
||||
|
||||
var coList = new AdatszolgaltatasokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetHittanOraszamCoList(forJanuar);
|
||||
|
||||
var modelList = new List<HittanOraszamGridModel>();
|
||||
|
||||
foreach (var co in coList)
|
||||
{
|
||||
var gridModel = new HittanOraszamGridModel(co);
|
||||
modelList.Add(gridModel);
|
||||
}
|
||||
|
||||
return (gridParameter, modelList);
|
||||
}
|
||||
|
||||
public HttpResponseMessage GetExportSzeptemberDecember(DataSourceRequest request)
|
||||
{
|
||||
try
|
||||
{
|
||||
var (gridParameter, modelList) = GetGridData(request);
|
||||
|
||||
return GetExportFile(gridParameter, modelList, AdatszolgaltatasokResource.HittanOraszamSzeptemberDecemberExportSheetName, AdatszolgaltatasokResource.HittanOraszamSzeptemberDecemberExportFileName, ClaimData.SelectedTanevID.Value);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAFajlExportalasaKozben) { UnHandledException = ex };
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public HttpResponseMessage GetExportJanuarJunius(DataSourceRequest request)
|
||||
{
|
||||
try
|
||||
{
|
||||
var (gridParameter, modelList) = GetGridData(request, forJanuar: true);
|
||||
|
||||
return GetExportFile(gridParameter, modelList, AdatszolgaltatasokResource.HittanOraszamJanuarJuniusExportSheetName, AdatszolgaltatasokResource.HittanOraszamJanuarJuniusExportFileName, ClaimData.SelectedTanevID.Value);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAFajlExportalasaKozben) { UnHandledException = ex };
|
||||
}
|
||||
}
|
||||
|
||||
private HttpResponseMessage GetExportFile(GridParameters gridParameter, List<HittanOraszamGridModel> modelList, string worksheetName, string fileName, int tanevId)
|
||||
{
|
||||
var orderedList = modelList.SortingAndPaging(gridParameter.OrderDictionary);
|
||||
|
||||
var simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos<HittanOraszamGridModel>(HittanOraszamGridModel.HittanOraszamExportAttributeId);
|
||||
|
||||
var memoryStream = SimpleExportLogic.GetExport(worksheetName, simpleExportColumnCos, orderedList, tanevId);
|
||||
|
||||
return HttpResponseExtensions.GetFileHttpResponse(memoryStream.ToArray(), fileName);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage Save(HittanOraszamSaveModel model, bool forJanuar = false)
|
||||
{
|
||||
TanevCO tanevCo;
|
||||
|
||||
var tanev = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
tanevCo = tanev.GetTanevInfo();
|
||||
|
||||
AdatszolgaltatasokHelper helper = new AdatszolgaltatasokHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
// kezdőnap januárnál záróév január 1, nem januárnál tanév első napja
|
||||
var startDate = forJanuar ? new DateTime(tanevCo.UtolsoNap.Year, 1, 1) : tanevCo.KezdoNap;
|
||||
// végenap januárnál tanév utolsó napja, nem januárnál kezdő év december 31
|
||||
var endDate = forJanuar ? tanevCo.UtolsoNap : new DateTime(tanevCo.KezdoNap.Year, 12, 31);
|
||||
|
||||
StringBuilder errorMsg = new StringBuilder();
|
||||
foreach (var item in model.oraszamok)
|
||||
{
|
||||
if (errorMsg.Length > 0)
|
||||
{ errorMsg.Append("<br />"); }
|
||||
if (!item.HittanTipusId.HasValue)
|
||||
{
|
||||
errorMsg.Append($"{item.CsoportNev} {AdatszolgaltatasokResource.HittanTipusKotelezo}");
|
||||
}
|
||||
else if (item.Darabszam.HasValue && item.Darabszam.Value < 0)
|
||||
{
|
||||
errorMsg.Append($"{item.CsoportNev} {AdatszolgaltatasokResource.HittanAdatszolgaltatasDarabszamNegativ}");
|
||||
}
|
||||
else if (item.Letszam.HasValue && item.Letszam.Value < 0)
|
||||
{
|
||||
errorMsg.Append($"{item.CsoportNev} {AdatszolgaltatasokResource.HittanAdatszolgaltatasLetszamNegativ}");
|
||||
}
|
||||
else if (item.Darabszam.HasValue && item.Darabszam.Value > 10000)
|
||||
{
|
||||
errorMsg.Append($"{item.CsoportNev} {AdatszolgaltatasokResource.HittanAdatszolgaltatasDarabszamTulNagy}");
|
||||
}
|
||||
else if (item.Letszam.HasValue && item.Letszam.Value > 10000)
|
||||
{
|
||||
errorMsg.Append($"{item.CsoportNev} {AdatszolgaltatasokResource.HittanAdatszolgaltatasLetszamTulNagy}");
|
||||
}
|
||||
else
|
||||
{
|
||||
helper.SaveHittanOraszam(item.Id, item.HittanTipusId.Value, item.Darabszam ?? 0, item.Letszam ?? 0, startDate, endDate, forJanuar);
|
||||
}
|
||||
}
|
||||
|
||||
if (errorMsg.Length > 0)
|
||||
throw new StatusError(HttpStatusCode.BadRequest, errorMsg.ToString());
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveForJanuar(HittanOraszamSaveModel model)
|
||||
{
|
||||
return Save(model, forJanuar: true);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue