init
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
using System;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Web.Http;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.Core;
|
||||
using Kreta.Core.Iktato.Poszeidon.Factory.Interface;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Helpers;
|
||||
|
||||
namespace Kreta.Web.Controllers
|
||||
{
|
||||
public class FileDownloadController : ApiController
|
||||
{
|
||||
private readonly IIktatoRepositoryFactory iktatoRepositoryFactory;
|
||||
private readonly IktatoServiceConfiguration iktatoServiceConfiguration;
|
||||
|
||||
public FileDownloadController(IIktatoRepositoryFactory iktatoRepositoryFactory, IktatoServiceConfiguration iktatoServiceConfiguration)
|
||||
{
|
||||
this.iktatoRepositoryFactory = iktatoRepositoryFactory;
|
||||
this.iktatoServiceConfiguration = iktatoServiceConfiguration;
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
[AllowAnonymous]
|
||||
public HttpResponseMessage GetAlapdokumentum(string tipusNev)
|
||||
{
|
||||
try
|
||||
{
|
||||
var dokumentumTipus = (Enums.DokumentumTipusEnum)Enum.Parse(typeof(Enums.DokumentumTipusEnum), tipusNev);
|
||||
|
||||
switch (dokumentumTipus)
|
||||
{
|
||||
case Enums.DokumentumTipusEnum.AlapitoOkirat:
|
||||
case Enums.DokumentumTipusEnum.SzervezetiEsMukodesiSzabalyzat:
|
||||
case Enums.DokumentumTipusEnum.Munkaterv:
|
||||
case Enums.DokumentumTipusEnum.PedagogiaiProgram:
|
||||
case Enums.DokumentumTipusEnum.Hazirend:
|
||||
case Enums.DokumentumTipusEnum.mukodesi_engedely:
|
||||
break;
|
||||
default:
|
||||
ModelState.AddModelError("tipusNev", ErrorResource.NincsIlyenTipusuAlapdokumentum);
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
var connectionType = ConnectionTypeExtensions.GetOrganizationConnectionType();
|
||||
var pHelper = new PoszeidonHelper(connectionType, iktatoRepositoryFactory, iktatoServiceConfiguration);
|
||||
var tanevId = dokumentumTipus == Enums.DokumentumTipusEnum.Munkaterv ? connectionType.TanevId : (int?)null;
|
||||
|
||||
var dokumentumCO = pHelper.IntezmenyiKotelezoDokumentumPublikus(tanevId, dokumentumTipus);
|
||||
|
||||
var iktatottDokumentumId = dokumentumCO.IktatottDokumentumId;
|
||||
if (!iktatottDokumentumId.IsEntityId())
|
||||
{
|
||||
ModelState.AddModelError("tipusNev", ErrorResource.NincsIlyenAlapDokumentumAzIntezmenynel);
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
(string fajlnev, byte[] tartalom) = pHelper.Lekeres(iktatottDokumentumId.ToString());
|
||||
|
||||
return HttpResponseExtensions.GetFileHttpResponse(tartalom, fajlnev);
|
||||
}
|
||||
catch
|
||||
{
|
||||
ModelState.AddModelError("tipusNev", ErrorResource.NincsIlyenTipusuDokumentum);
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user