kreta/KretaWeb/Areas/Tanulo/Controllers/TanuloApaczaiController.cs
2024-03-13 00:33:46 +01:00

718 lines
39 KiB
C#

using System;
using System.Collections.Generic;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Mime;
using System.Text;
using System.Web;
using System.Web.Mvc;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Client.KGR;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Resources;
using Kreta.Web.Areas.Adminisztracio.Helpers;
using Kreta.Web.Areas.Adminisztracio.Models;
using Kreta.Web.Areas.Tanulo.Helper;
using Kreta.Web.Areas.Tanulo.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Error;
using Kreta.Web.Models;
using Kreta.Web.Models.EditorTemplates;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Tanulo.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.Gondviselo.ClaimValue, KretaClaimPackages.CsokkentettGondviselo.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Tanulo.ClaimValue)]
public class TanuloApaczaiController : Controller
{
private readonly IKGRClient _kgrClient;
private readonly IKretaAuthorization _authorization;
public TanuloApaczaiController(IKGRClient kgrClient, IKretaAuthorization authorization)
{
_kgrClient = kgrClient ?? throw new ArgumentNullException(nameof(kgrClient));
_authorization = authorization ?? throw new ArgumentNullException(nameof(authorization));
}
// GET: Tanulo/TanuloApaczai
public ActionResult Index()
{
var palyazat = new TanuloApaczaiHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetPalyazat(_kgrClient, ClaimData.FelhasznaloIdpEgyediAzonosito);
if (!_authorization.IsValidTanuloApaczai() && palyazat.Id == 0 && DateTime.Now > Core.Constants.ApaczaiVegeDatum)
{
return Redirect(Url.Action("AccessDenied", "ErrorHandler", new { area = string.Empty }));
}
var szemelyesAdatok = new ProfilHelper().GetTanuloSajatAdatlapDataForInfo(ClaimData.FelhasznaloId, Request.Url.Host);
szemelyesAdatok.TanuloBankszamla.IsReadonly = true;
szemelyesAdatok.TanuloBankszamla.IdPostfix = "Apaczai";
szemelyesAdatok.TanuloBankszamla.BankszamlaSzamReadonlyTooltip = TanuloApaczaiResource.BankszamlaReadonlyTooltip;
szemelyesAdatok.HideControlsForApaczaiOD = true;
var elerhetosegAdatok = TanuloLogic.GetTanuloElerhetosegCimTelEmail(ClaimData.FelhasznaloId);
var tanuloDetailModel = AlapkepzesTanuloLogic.GetTanuloData(ClaimData.FelhasznaloId);
var isAdategyeztetesreVisszakuldve = palyazat.Statusz == ApaczaiPalyazatStatuszEnum.AdategyeztetesreVisszakuldve || palyazat.Statusz == ApaczaiPalyazatStatuszEnum.FelulvizsgalatrolAdategyeztetesreVisszakuldve;
var palyazatiMenuModel = new TanuloApaczaiPalyazatMenuModel
{
PalyazatStatusz = palyazat.Statusz,
FellebbezesHatarido = palyazat.FellebbezesHatarido
};
var childModel = new List<object>{
palyazatiMenuModel
};
var isSzakkepzoJuttatas = new IntezmenyHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetIntezmenyiAdatok().IsSzakkepzoJuttatas;
var dokumentumChildModel = new List<object>{
{
new TanuloApaczaiDokumentumMenuModel
{
PalyazatStatusz = palyazat.Statusz,
IsSzakkepzoJuttatas = isSzakkepzoJuttatas
}
}
};
var model = new TanuloApaczaiModel
{
PanelName = "ApaczaiMenu",
ExpandMode = Kendo.Mvc.UI.PanelBarExpandMode.Multiple,
ChildModels = new List<PanelBarChildModel>
{
new PanelBarChildModel
{
PartialViewTitle = TanuloApaczaiResource.SzemelyesMenu,
PartialViewName = "SzemelyesMenuPartialView",
},
new PanelBarChildModel
{
PartialViewTitle = TanuloApaczaiResource.PalyazatiMenu,
PartialViewName = "PalyazatiMenuPartialView",
Data = childModel,
},
new PanelBarChildModel
{
PartialViewTitle = TanuloApaczaiResource.DokumentumokMenu,
PartialViewName = "DokumentumokMenuPartialView",
Data = dokumentumChildModel,
},
},
SajatAdatlapInfo = szemelyesAdatok,
CimElerhetoseg = elerhetosegAdatok,
AtlagokInfo = new TanuloApaczaiAtlagokModel
{
KeziAtlag = isAdategyeztetesreVisszakuldve ? palyazat.Palyazo.KeziAtlag : null,
SzamitottAtlag = tanuloDetailModel.TanuloJuttatasModel.SzamitottAtlag,
Feljegyzes = isAdategyeztetesreVisszakuldve ? palyazat.Palyazo.AtlagKomment : null,
HatranyosHelyzetIgazolasKiallitasDatuma = isAdategyeztetesreVisszakuldve ? palyazat.HatranyosHelyzetHatarozatDatum.Year : (int?)null,
PalyazatStatusz = palyazat.Statusz
},
IsSzakkepzoJuttatas = isSzakkepzoJuttatas
};
return View(model);
}
public ActionResult HomePartialView()
{
var model = new TanuloApaczaiHomeModel
{
TanuloNeve = ClaimData.FelhasznaloNev,
};
return PartialView("HomePartialView", model);
}
public ActionResult AlapadatokPartialView(SajatAdatlapInfoModel model)
{
return PartialView("AlapadatokPartialView", model);
}
public ActionResult ElerhetosegekPartialView(CimElerhetosegModel model)
{
return PartialView("ElerhetosegekPartialView", model);
}
public ActionResult BankszamlaAdatokPartialView(TanuloBankszamlaModel model)
{
model.IdPostfix = "Apaczai";
return PartialView("BankszamlaAdatokPartialView", model);
}
public ActionResult PalyazatBenyujtasaPartialView(TanuloApaczaiModel model)
{
var apaczaiHelper = new TanuloApaczaiHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var (countEgyebDokumentum, countHatranyosHelyzetIgazolasa, countHozzajaruloDokumentum, countElozoTanevEvvegiBizonyitvany, countMentoriTamogatoNyilatkozat) = apaczaiHelper.GetFeltoltottDokumentumKategoriak(_kgrClient, ClaimData.FelhasznaloIdpEgyediAzonosito);
var pageModel = new TanuloApaczaiPalyazatBenyujtasModel
{
TanuloId = ClaimData.FelhasznaloId,
ContentModel = new TanuloApaczaiPalyazatBenyujtasContentModel
{
AlapAdatModel = model.SajatAdatlapInfo,
BankszamlaModel = model.SajatAdatlapInfo.TanuloBankszamla,
ElerhetosegModel = model.CimElerhetoseg,
AtlagokModel = new TanuloApaczaiAtlagokModel
{
KeziAtlag = model.AtlagokInfo.KeziAtlag,
SzamitottAtlag = model.AtlagokInfo.SzamitottAtlag,
Feljegyzes = model.AtlagokInfo.Feljegyzes,
HatranyosHelyzetIgazolasKiallitasDatuma = model.AtlagokInfo.HatranyosHelyzetIgazolasKiallitasDatuma,
PalyazatStatusz = model.AtlagokInfo.PalyazatStatusz
},
DokumentumokModel = new TanuloApaczaiDokumentumokModel
{
CountEgyebDokumentum = countEgyebDokumentum,
CountHatranyosHelyzetIgazolas = countHatranyosHelyzetIgazolasa,
CountHozzajaruloDokumentum = countHozzajaruloDokumentum,
CountMentoriTamogatoNyilatkozat = countMentoriTamogatoNyilatkozat,
CountElozoTanevEvvegiBizonyitvany = countElozoTanevEvvegiBizonyitvany,
}
},
StepDisplayModel = new StepDisplayModel
{
BaseColor = ColorTranslator.ToHtml(Color.Black),
Height = "50px",
Radius = 20,
SelectedColor = ColorTranslator.ToHtml(Color.LightSlateGray),
Steps = 4,
Width = "100%",
}
};
return PartialView("PalyazatBenyujtasaPartialView", pageModel);
}
public ActionResult OpenPalyazatBenyujtasWizard(int tanuloId, TanuloApaczaiPalyazatBenyujtasContentModel contentModel)
{
var model = new TanuloApaczaiPalyazatBenyujtasModel
{
TanuloId = tanuloId,
Title = TanuloApaczaiResource.PalyazatBenyujtasWizardPage1Title,
Percentage = 25,
ContentModel = contentModel,
};
return PartialView("PalyazatBenyujtasPage1PartialView", model);
}
public ActionResult OpenPalyazatBenyujtasDokumentumokWizard(int tanuloId, TanuloApaczaiPalyazatBenyujtasContentModel contentModel)
{
var (countEgyebDokumentum, countHatranyosHelyzetIgazolas, countHozzajaruloDokumentum, countElozoTanevEvvegiBizonyitvany, countMentoriTamogatoNyilatkozat) = new TanuloApaczaiHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetFeltoltottDokumentumKategoriak(_kgrClient, ClaimData.FelhasznaloIdpEgyediAzonosito);
var model = new TanuloApaczaiPalyazatBenyujtasDokumentumokModel
{
TanuloId = tanuloId,
Title = TanuloApaczaiResource.PalyazatBenyujtasWizardPage2Title,
Percentage = 50,
ContentModel = new TanuloApaczaiPalyazatBenyujtasDokumentumokContentModel
{
CountEgyebDokumentum = countEgyebDokumentum,
CountHatranyosHelyzetIgazolas = countHatranyosHelyzetIgazolas,
CountHozzajaruloDokumentum = countHozzajaruloDokumentum,
CountMentoriTamogatoNyilatkozat = countMentoriTamogatoNyilatkozat,
CountElozoTanevEvvegiBizonyitvany = countElozoTanevEvvegiBizonyitvany,
UploadAllowed = true,
PalyazatStatusz = contentModel.AtlagokModel.PalyazatStatusz,
},
};
return PartialView("PalyazatBenyujtasPage2PartialView", model);
}
public ActionResult OpenPalyazatBenyujtasAtlagokWizard(int tanuloId, TanuloApaczaiPalyazatBenyujtasContentModel contentModel)
{
var model = new TanuloApaczaiPalyazatBenyujtasAtlagokModel
{
TanuloId = tanuloId,
Title = TanuloApaczaiResource.PalyazatBenyujtasWizardPage3Title,
Percentage = 75,
ContentModel = new TanuloApaczaiPalyazatBenyujtasAtlagokContentModel()
{
SzamitottAtlag = contentModel.AtlagokModel.SzamitottAtlag,
KeziAtlag = contentModel.AtlagokModel.KeziAtlag,
HatranyosHelyzetIgazolasKiallitasDatuma = contentModel.AtlagokModel.HatranyosHelyzetIgazolasKiallitasDatuma,
Feljegyzes = contentModel.AtlagokModel.Feljegyzes,
CountElozoTanevEvvegiBizonyitvany = contentModel.DokumentumokModel.CountElozoTanevEvvegiBizonyitvany,
PalyazatStatusz = contentModel.AtlagokModel.PalyazatStatusz
}
};
return PartialView("PalyazatBenyujtasPage3PartialView", model);
}
public ActionResult OpenPalyazatBenyujtasOsszegzoWizard(int tanuloId, TanuloApaczaiPalyazatBenyujtasContentModel contentModel)
{
var (countEgyebDokumentum, countHatranyosHelyzetIgazolas, countHozzajaruloDokumentum, countElozoTanevEvvegiBizonyitvany, countMentoriTamogatoNyilatkozat) = new TanuloApaczaiHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetFeltoltottDokumentumKategoriak(_kgrClient, ClaimData.FelhasznaloIdpEgyediAzonosito);
contentModel.AlapAdatModel.PartialViewTitle = TanuloApaczaiResource.SzemelyesAdatok;
contentModel.AlapAdatModel.PartialViewName = "PalyazatBenyujtasPage4SzemelyesAdatokPartialView";
contentModel.BankszamlaModel.PartialViewTitle = TanuloResource.BankszamlaSzamAdatokTanuloiFejlec;
contentModel.BankszamlaModel.PartialViewName = "BankszamlaEditor";
contentModel.ElerhetosegModel.PartialViewTitle = TanuloResource.Elerhetosegek;
contentModel.ElerhetosegModel.PartialViewName = "_Tanulo_Elerhetoseg_Adatlap_Partial";
var model = new TanuloApaczaiPalyazatBenyujtasOsszegzesModel
{
TanuloId = tanuloId,
Title = TanuloApaczaiResource.PalyazatBenyujtasWizardPage4Title,
Percentage = 90,
PanelBarModel = new PanelBarBaseModel
{
PanelName = "OsszegzoPanelbar",
ExpandMode = Kendo.Mvc.UI.PanelBarExpandMode.Multiple,
ChildModels = new List<PanelBarChildModel>
{
contentModel.AlapAdatModel,
contentModel.ElerhetosegModel,
contentModel.BankszamlaModel,
new TanuloApaczaiPalyazatBenyujtasDokumentumokContentModel
{
PartialViewTitle = TanuloApaczaiResource.DokumentumokMenu,
PartialViewName = "PalyazatBenyujtasDokumentumokContentPartialView",
CountEgyebDokumentum = countEgyebDokumentum,
CountHatranyosHelyzetIgazolas = countHatranyosHelyzetIgazolas,
CountHozzajaruloDokumentum = countHozzajaruloDokumentum,
CountMentoriTamogatoNyilatkozat = countMentoriTamogatoNyilatkozat,
CountElozoTanevEvvegiBizonyitvany = countElozoTanevEvvegiBizonyitvany,
PalyazatStatusz = contentModel.AtlagokModel.PalyazatStatusz,
},
new TanuloApaczaiPalyazatBenyujtasAtlagokContentModel
{
PartialViewTitle = TanuloApaczaiResource.PalyazatBenyujtasWizardPage3Title,
PartialViewName = "PalyazatBenyujtasAtlagokContentPartialView",
SzamitottAtlag = contentModel.AtlagokModel.SzamitottAtlag,
KeziAtlag = contentModel.AtlagokModel.KeziAtlag,
HatranyosHelyzetIgazolasKiallitasDatuma = contentModel.AtlagokModel.HatranyosHelyzetIgazolasKiallitasDatuma,
Feljegyzes = contentModel.AtlagokModel.Feljegyzes,
IsReadOnly = true,
}
},
},
};
return PartialView("PalyazatBenyujtasPage4PartialView", model);
}
public ActionResult OpenPalyazatBenyujtasOsszegzoPopup()
{
var apaczaiHelper = new TanuloApaczaiHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var palyazat = apaczaiHelper.GetPalyazat(_kgrClient, ClaimData.FelhasznaloIdpEgyediAzonosito);
var palyazatDokumentumai = apaczaiHelper.GetPalyazatDokumentumai(_kgrClient, ClaimData.FelhasznaloIdpEgyediAzonosito);
var contentModel = new TanuloApaczaiPalyazatBenyujtasContentModel();
var szemelyesAdatok = new SajatAdatlapInfoModel
{
AlapAdat = new SajatAdatlapInfoModel.AlapAdatModel
{
EloTag = palyazat.Palyazo.EloTag,
CsaladiNev = palyazat.Palyazo.CsaladiNev,
Utonev = palyazat.Palyazo.Utonev,
SzuletesiCsaladNev = palyazat.Palyazo.SzuletesiCsaladNev,
SzuletesiUtonev = palyazat.Palyazo.SzuletesiUtonev,
AnyjaCsaladiNeve = palyazat.Palyazo.AnyjaSzuletesiCsaladiNev,
AnyjaUtonev = palyazat.Palyazo.AnyjaSzuletesiUtonev,
SzuletesiIdo = palyazat.Palyazo.SzuletesiIdo,
SzuletesiHely = palyazat.Palyazo.SzuletesiHely,
SzuletesiOrszag = palyazat.Palyazo.SzuletesiOrszag,
Anyanyelv = palyazat.Palyazo.Anyanyelv,
Allampolgarsag = palyazat.Palyazo.Allampolgarsag,
Allampolgarsag2 = palyazat.Palyazo.Allampolgarsag2,
OktatasiAzonosito = palyazat.Palyazo.OktatasiAzonosito,
},
TanuloBankszamla = new TanuloBankszamlaModel
{
BankszamlaSzam = palyazat.Palyazo.Bankszamla.BankszamlaSzam,
BankszamlaTulajdonos = EnumExtensions.GetIdByDisplayName(palyazat.Palyazo.Bankszamla.BankszamlaTulajdonosa, GeneratedAdatszotarTipusEnum.BankszamlaTulajdonosTipus, ClaimData.SelectedTanevID.Value),
BankszamlaTulajdonosNeve = palyazat.Palyazo.Bankszamla.BankszamlaTulajdonosNeve,
SzamlavezetoBank = palyazat.Palyazo.Bankszamla.SzamlavezetoBank
},
TanuloIgazolvany = new SajatAdatlapInfoModel.TanuloIgazolvanyModel
{
TajSzam = palyazat.Palyazo.TAJszam,
},
HideControlsForApaczaiOD = true
};
szemelyesAdatok.TanuloBankszamla.IsReadonly = true;
var elerhetosegAdatok = new CimElerhetosegModel
{
Orszag = EnumExtensions.GetIdByDisplayName(palyazat.Palyazo.AllandoElerhetoseg.Orszag, GeneratedAdatszotarTipusEnum.OrszagTipus, ClaimData.SelectedTanevID.Value),
CimTipus = EnumExtensions.GetIdByDisplayName(palyazat.Palyazo.AllandoElerhetoseg.CimTipus, GeneratedAdatszotarTipusEnum.CimTipus, ClaimData.SelectedTanevID.Value),
Iranyitoszam = palyazat.Palyazo.AllandoElerhetoseg.Iranyitoszam,
Iranyitoszam_Str = palyazat.Palyazo.AllandoElerhetoseg.Iranyitoszam,
HelysegNev = palyazat.Palyazo.AllandoElerhetoseg.HelysegNev,
HelysegNev_Str = palyazat.Palyazo.AllandoElerhetoseg.HelysegNev,
KozteruletNev = palyazat.Palyazo.AllandoElerhetoseg.KozteruletNev,
KozteruletTipus_Str = palyazat.Palyazo.AllandoElerhetoseg.KozteruletTipus,
KozteruletTipus = palyazat.Palyazo.AllandoElerhetoseg.KozteruletTipus,
Hazszam = palyazat.Palyazo.AllandoElerhetoseg.Hazszam,
Emelet = palyazat.Palyazo.AllandoElerhetoseg.Emelet,
Ajto = palyazat.Palyazo.AllandoElerhetoseg.Ajto,
Telefon = palyazat.Palyazo.AllandoElerhetoseg.TelefonSzam,
TelefonTipus = EnumExtensions.GetIdByDisplayName(palyazat.Palyazo.AllandoElerhetoseg.TelefonTipus, GeneratedAdatszotarTipusEnum.TelefonTipus, ClaimData.SelectedTanevID.Value),
Emailcim_Input = palyazat.Palyazo.AllandoElerhetoseg.Emailcim,
EmailTipus = EnumExtensions.GetIdByDisplayName(palyazat.Palyazo.AllandoElerhetoseg.EmailTipus, GeneratedAdatszotarTipusEnum.EmailTipus, ClaimData.SelectedTanevID.Value),
TartozkodasiOrszag = EnumExtensions.GetIdByDisplayName(palyazat.Palyazo.TartozkodasiElerhetoseg.Orszag, GeneratedAdatszotarTipusEnum.OrszagTipus, ClaimData.SelectedTanevID.Value),
TartozkodasiIranyitoszam = palyazat.Palyazo.TartozkodasiElerhetoseg.Iranyitoszam,
TartozkodasiHelysegNev = palyazat.Palyazo.TartozkodasiElerhetoseg.HelysegNev,
TartozkodasiKozteruletNev = palyazat.Palyazo.TartozkodasiElerhetoseg.KozteruletNev,
TartozkodasiKozteruletTipusNev = palyazat.Palyazo.TartozkodasiElerhetoseg.KozteruletTipus,
TartozkodasiHazszam = palyazat.Palyazo.TartozkodasiElerhetoseg.Hazszam,
TartozkodasiEmelet = palyazat.Palyazo.TartozkodasiElerhetoseg.Emelet,
TartozkodasiAjto = palyazat.Palyazo.TartozkodasiElerhetoseg.Ajto
};
contentModel.AlapAdatModel = szemelyesAdatok;
contentModel.AlapAdatModel.PartialViewTitle = TanuloApaczaiResource.SzemelyesAdatok;
contentModel.AlapAdatModel.PartialViewName = "PalyazatBenyujtasPage4SzemelyesAdatokPartialView";
contentModel.BankszamlaModel = szemelyesAdatok.TanuloBankszamla;
contentModel.BankszamlaModel.PartialViewTitle = TanuloResource.BankszamlaSzamAdatokTanuloiFejlec;
contentModel.BankszamlaModel.PartialViewName = "BankszamlaEditor";
contentModel.ElerhetosegModel = elerhetosegAdatok;
contentModel.ElerhetosegModel.PartialViewTitle = TanuloResource.Elerhetosegek;
contentModel.ElerhetosegModel.PartialViewName = "_Tanulo_Elerhetoseg_Adatlap_Partial";
contentModel.AtlagokModel = new TanuloApaczaiAtlagokModel
{
KeziAtlag = palyazat.Palyazo.KeziAtlag,
SzamitottAtlag = palyazat.Palyazo.SzamitottAtlag,
Feljegyzes = palyazat.Palyazo.AtlagKomment,
HatranyosHelyzetIgazolasKiallitasDatuma = palyazat.HatranyosHelyzetHatarozatDatum.Year
};
var model = new TanuloApaczaiPalyazatBenyujtasOsszegzesModel
{
TanuloId = ClaimData.FelhasznaloId,
Title = "",
PanelBarModel = new PanelBarBaseModel
{
PanelName = "OsszegzoPanelbar",
ExpandMode = Kendo.Mvc.UI.PanelBarExpandMode.Multiple,
ChildModels = new List<PanelBarChildModel>
{
contentModel.AlapAdatModel,
contentModel.ElerhetosegModel,
contentModel.BankszamlaModel,
new TanuloApaczaiPalyazatBenyujtasDokumentumokContentModel
{
PartialViewTitle = TanuloApaczaiResource.DokumentumokMenu,
PartialViewName = "PalyazatBenyujtasDokumentumokContentPartialView",
CountEgyebDokumentum = palyazatDokumentumai.Count(x => x.Kategoria == ApaczaiDokumentumTipusEnum.Egyeb),
CountHatranyosHelyzetIgazolas = palyazatDokumentumai.Count(x => x.Kategoria == ApaczaiDokumentumTipusEnum.HatranyosHelyzetIgazolas),
CountHozzajaruloDokumentum = palyazatDokumentumai.Count(x => x.Kategoria == ApaczaiDokumentumTipusEnum.HozzajaruloNyilatkozat),
CountMentoriTamogatoNyilatkozat = palyazatDokumentumai.Count(x => x.Kategoria == ApaczaiDokumentumTipusEnum.MentoriTamogatoNyilatkozat),
CountElozoTanevEvvegiBizonyitvany = palyazatDokumentumai.Count(x => x.Kategoria == ApaczaiDokumentumTipusEnum.ElozoTanevEvvegiBizonyitvany),
PalyazatStatusz = palyazat.Statusz,
},
new TanuloApaczaiPalyazatBenyujtasAtlagokContentModel
{
PartialViewTitle = TanuloApaczaiResource.PalyazatBenyujtasWizardPage3Title,
PartialViewName = "PalyazatBenyujtasAtlagokContentPartialView",
KeziAtlag = palyazat.Palyazo.KeziAtlag,
SzamitottAtlag = palyazat.Palyazo.SzamitottAtlag,
Feljegyzes = palyazat.Palyazo.AtlagKomment,
HatranyosHelyzetIgazolasKiallitasDatuma = palyazat.HatranyosHelyzetHatarozatDatum.Year,
IsReadOnly = true,
}
},
},
};
var popupModel = new PopUpModel(model, "BenyujtottPalyazatOsszegzoPopup");
popupModel.AddCancelBtn(popupModel, "PalyazatAllapotaHelper.PalyazatAllapotaPopupCancel");
return PartialView(Constants.General.PopupView, popupModel);
}
public ActionResult PalyazatAllapotaPartialView()
{
var apaczaiHelper = new TanuloApaczaiHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var palyazatAllapota = apaczaiHelper.GetPalyazat(_kgrClient, ClaimData.FelhasznaloIdpEgyediAzonosito);
var palyazatDokumentumai = apaczaiHelper.GetPalyazatDokumentumai(_kgrClient, ClaimData.FelhasznaloIdpEgyediAzonosito);
var palyazatiDontesDokumentum = palyazatDokumentumai.Where(d => d.Kategoria == ApaczaiDokumentumTipusEnum.PalyazatiDontes)
.OrderByDescending(d => d.Datum)
.FirstOrDefault();
var tamogatoiOkiratDokumentum = palyazatDokumentumai.Where(d => d.Kategoria == ApaczaiDokumentumTipusEnum.TamogatoiOkirat)
.OrderByDescending(d => d.Datum)
.FirstOrDefault();
var model = new TanuloApaczaiPalyazatAllapotaModel(palyazatAllapota, palyazatiDontesDokumentum, tamogatoiOkiratDokumentum);
return PartialView("PalyazatAllapotaPartialView", model);
}
public ActionResult PalyazatiEsemenyekPartialView()
{
var esemenyek = new TanuloApaczaiHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetPalyazatiEsemenyek(_kgrClient, ClaimData.FelhasznaloIdpEgyediAzonosito);
var model = new TanuloApaczaiPalyazatiEsemenyekModel
{
Merfoldkovek = esemenyek.Select(x => new TanuloApaczaiPalyazatiEsemenyMerfoldkoModel(x)),
};
return PartialView("PalyazatiEsemenyekPartialView", model);
}
public ActionResult DokumentumHozzaadasaPartialView(TanuloApaczaiModel model)
{
var palyazatDokumentumai = new TanuloApaczaiHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetPalyazatDokumentumai(_kgrClient, ClaimData.FelhasznaloIdpEgyediAzonosito);
var dokumentumHozzaadasaModel = new TanuloApaczaiDokumentumHozzaadasaModel
{
HatranyosHelyzetIgazolasaFajlnevek = palyazatDokumentumai.Where(x => x.Kategoria == ApaczaiDokumentumTipusEnum.HatranyosHelyzetIgazolas).Select(x => x.Nev).ToList(),
HozzajaruloNyilatkozatFajlnevek = palyazatDokumentumai.Where(x => x.Kategoria == ApaczaiDokumentumTipusEnum.HozzajaruloNyilatkozat).Select(x => x.Nev).ToList(),
MentoriTamogatoNyilatkozatFajlnevek = palyazatDokumentumai.Where(x => x.Kategoria == ApaczaiDokumentumTipusEnum.MentoriTamogatoNyilatkozat).Select(x => x.Nev).ToList(),
EgyebDokumentumFajlnevek = palyazatDokumentumai.Where(x => x.Kategoria == ApaczaiDokumentumTipusEnum.Egyeb).Select(x => x.Nev).ToList(),
ElozoTanevEvvegiBizonyitvanyFajlnevek = palyazatDokumentumai.Where(x => x.Kategoria == ApaczaiDokumentumTipusEnum.ElozoTanevEvvegiBizonyitvany).Select(x => x.Nev).ToList(),
PalyazatStatusz = model.AtlagokInfo.PalyazatStatusz,
};
return PartialView("DokumentumHozzaadasaPartialView", dokumentumHozzaadasaModel);
}
public ActionResult DokumentumokMegtekintesePartialView(TanuloApaczaiModel tanuloApaczaiModel)
{
var apaczaiHelper = new TanuloApaczaiHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var palyazat = apaczaiHelper.GetPalyazat(_kgrClient, ClaimData.FelhasznaloIdpEgyediAzonosito);
var palyazatDokumentumai = apaczaiHelper.GetPalyazatDokumentumai(_kgrClient, ClaimData.FelhasznaloIdpEgyediAzonosito);
var model = new TanuloApaczaiDokumentumokMegtekinteseModel
{
Statusz = palyazat.Statusz,
};
var hatranyosHelyzet = new TanuloApaczaiDokumentumKategoriaModel
{
DokumentumkategoriaAzonosito = "HatranyosHelyzetIgazolasa",
DokumentumKategoriaNeve = TanuloApaczaiResource.HatranyosHelyzetIgazolasa,
};
hatranyosHelyzet.DokumentumList.AddRange(palyazatDokumentumai.Where(x => x.Kategoria == ApaczaiDokumentumTipusEnum.HatranyosHelyzetIgazolas).Select(x => new TanuloApaczaiDokumentumModel
{
DokumentumId = x.Azonosito,
DokumentumNev = x.Nev,
}));
var hozzajaruloNyilatkozat = new TanuloApaczaiDokumentumKategoriaModel
{
DokumentumkategoriaAzonosito = "Hozzajarulo",
DokumentumKategoriaNeve = TanuloApaczaiResource.HozzajaruloNyilatkozat
};
hozzajaruloNyilatkozat.DokumentumList.AddRange(palyazatDokumentumai.Where(x => x.Kategoria == ApaczaiDokumentumTipusEnum.HozzajaruloNyilatkozat).Select(x => new TanuloApaczaiDokumentumModel
{
DokumentumId = x.Azonosito,
DokumentumNev = x.Nev,
}));
var mentoriTamogatoNyilatkozat = new TanuloApaczaiDokumentumKategoriaModel
{
DokumentumkategoriaAzonosito = "MentoriTamogatoNyilatkozat",
DokumentumKategoriaNeve = TanuloApaczaiResource.MentoriTamogatoNyilatkozat
};
mentoriTamogatoNyilatkozat.DokumentumList.AddRange(palyazatDokumentumai.Where(x => x.Kategoria == ApaczaiDokumentumTipusEnum.MentoriTamogatoNyilatkozat).Select(x => new TanuloApaczaiDokumentumModel
{
DokumentumId = x.Azonosito,
DokumentumNev = x.Nev,
}));
var palyazatiDontes = new TanuloApaczaiDokumentumKategoriaModel
{
DokumentumkategoriaAzonosito = "PalyazatiDontes",
DokumentumKategoriaNeve = TanuloApaczaiResource.PalyazatiDontes
};
palyazatiDontes.DokumentumList.AddRange(palyazatDokumentumai.Where(x => x.Kategoria == ApaczaiDokumentumTipusEnum.PalyazatiDontes).Select(x => new TanuloApaczaiDokumentumModel
{
DokumentumId = x.Azonosito,
DokumentumNev = x.Nev,
}));
var tamogatoiOkirat = new TanuloApaczaiDokumentumKategoriaModel
{
DokumentumkategoriaAzonosito = "TamogatoiOkirat",
DokumentumKategoriaNeve = TanuloApaczaiResource.TamogatoiOkirat
};
tamogatoiOkirat.DokumentumList.AddRange(palyazatDokumentumai.Where(x => x.Kategoria == ApaczaiDokumentumTipusEnum.TamogatoiOkirat).Select(x => new TanuloApaczaiDokumentumModel
{
DokumentumId = x.Azonosito,
DokumentumNev = x.Nev,
}));
var egyebDokumentumok = new TanuloApaczaiDokumentumKategoriaModel
{
DokumentumkategoriaAzonosito = "Egyeb",
DokumentumKategoriaNeve = TanuloApaczaiResource.EgyebDokumentumok
};
egyebDokumentumok.DokumentumList.AddRange(palyazatDokumentumai.Where(x => x.Kategoria == ApaczaiDokumentumTipusEnum.Egyeb).Select(x => new TanuloApaczaiDokumentumModel
{
DokumentumId = x.Azonosito,
DokumentumNev = x.Nev,
}));
var elozoTanevEvvegiBizonyitvany = new TanuloApaczaiDokumentumKategoriaModel
{
DokumentumkategoriaAzonosito = "ElozoTanevEvvegiBizonyitvany",
DokumentumKategoriaNeve = TanuloApaczaiResource.ElozoTanevEvvegiBizonyitvany,
};
elozoTanevEvvegiBizonyitvany.DokumentumList.AddRange(palyazatDokumentumai.Where(x => x.Kategoria == ApaczaiDokumentumTipusEnum.ElozoTanevEvvegiBizonyitvany).Select(x => new TanuloApaczaiDokumentumModel
{
DokumentumId = x.Azonosito,
DokumentumNev = x.Nev,
}));
var eszaAdatlapokKezelese = new TanuloApaczaiDokumentumKategoriaModel
{
DokumentumkategoriaAzonosito = "EszaAdatlapok",
DokumentumKategoriaNeve = TanuloApaczaiResource.EszaAdatlapok,
IsDeleteDocumentEnabled = false
};
eszaAdatlapokKezelese.DokumentumList.AddRange(palyazatDokumentumai.Where(x => x.Kategoria == ApaczaiDokumentumTipusEnum.EszaTipus).Select(x => new TanuloApaczaiDokumentumModel
{
DokumentumId = x.Azonosito,
DokumentumNev = x.Nev,
}));
model.KategoriaList.Add(hatranyosHelyzet);
model.KategoriaList.Add(hozzajaruloNyilatkozat);
model.KategoriaList.Add(mentoriTamogatoNyilatkozat);
model.KategoriaList.Add(elozoTanevEvvegiBizonyitvany);
model.KategoriaList.Add(egyebDokumentumok);
model.KategoriaList.Add(palyazatiDontes);
if (palyazat.Statusz == ApaczaiPalyazatStatuszEnum.Elfogadott)
{
model.KategoriaList.Add(tamogatoiOkirat);
}
if (tanuloApaczaiModel.IsSzakkepzoJuttatas && palyazat.Statusz == ApaczaiPalyazatStatuszEnum.Elfogadott)
{
model.KategoriaList.Add(eszaAdatlapokKezelese);
}
return PartialView("DokumentumokMegtekintesePartialView", model);
}
public ActionResult EszaAdatlapokMegtekintesePartialView()
{
var palyazatDokumentumai = new TanuloApaczaiHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetPalyazatDokumentumai(_kgrClient, ClaimData.FelhasznaloIdpEgyediAzonosito);
var tanuloApaczaiEszaAdatlapokMegtekinteseModel = new TanuloApaczaiEszaAdatlapokMegtekinteseModel
{
EszaBelepoNyilatkozatIgazolasaFajlnevek = palyazatDokumentumai.Where(x => x.Kategoria == ApaczaiDokumentumTipusEnum.EszaTipus && x.EszaTipus == TanuloApaczaiResource.EszaBelepoNyilatkozat).Select(x => x.Nev).ToList(),
EszaKilepoNyilatkozatIgazolasaFajlnevek = palyazatDokumentumai.Where(x => x.Kategoria == ApaczaiDokumentumTipusEnum.EszaTipus && x.EszaTipus == TanuloApaczaiResource.EszaKilepoNyilatkozat).Select(x => x.Nev).ToList(),
};
return PartialView("EszaAdatlapokMegtekintesePartialView", tanuloApaczaiEszaAdatlapokMegtekinteseModel);
}
public ActionResult DownloadFile(Guid id, string fileName)
{
try
{
var palyazatDokumentuma = new TanuloApaczaiHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetPalyazatDokumentuma(_kgrClient, ClaimData.FelhasznaloIdpEgyediAzonosito, id);
return new FileContentResult(palyazatDokumentuma, MediaTypeNames.Application.Octet)
{
FileDownloadName = HttpUtility.UrlEncode(fileName, Encoding.UTF8),
};
}
catch (Exception ex)
{
if (ex.Data["ApaczaiHiba"] != null)
{
throw new StatusError(HttpStatusCode.BadRequest, null) { Json = ex.Data["ApaczaiHiba"], };
}
throw new StatusError(HttpStatusCode.BadRequest, ex.Message, ex);
}
}
public JsonResult UploadHatranyosHelyzetIgazolasa(HttpPostedFileBase hatranyosHelyzetIgazolasa)
{
return UploadFile(hatranyosHelyzetIgazolasa, ApaczaiDokumentumTipusEnum.HatranyosHelyzetIgazolas);
}
public JsonResult UploadEszaBelepoNyilatkozatIgazolasa(HttpPostedFileBase eszaBelepoNyilatkozatIgazolasa)
{
return UploadFile(eszaBelepoNyilatkozatIgazolasa, ApaczaiDokumentumTipusEnum.EszaBelepoNyilatkozat);
}
public JsonResult UploadEszaKilepoNyilatkozatIgazolasa(HttpPostedFileBase eszaKilepoNyilatkozatIgazolasa)
{
return UploadFile(eszaKilepoNyilatkozatIgazolasa, ApaczaiDokumentumTipusEnum.EszaKilepoNyilatkozat);
}
public JsonResult UploadHozzajaruloNyilatkozat(HttpPostedFileBase hozzajaruloNyilatkozat)
{
return UploadFile(hozzajaruloNyilatkozat, ApaczaiDokumentumTipusEnum.HozzajaruloNyilatkozat);
}
public JsonResult UploadMentoriTamogatoNyilatkozat(HttpPostedFileBase mentoriTamogatoNyilatkozat)
{
return UploadFile(mentoriTamogatoNyilatkozat, ApaczaiDokumentumTipusEnum.MentoriTamogatoNyilatkozat);
}
public JsonResult UploadEgyebDokumentum(HttpPostedFileBase egyebDokumentum)
{
return UploadFile(egyebDokumentum, ApaczaiDokumentumTipusEnum.Egyeb);
}
public JsonResult UploadElozoTanevEvvegiBizonyitvanyDokumentum(HttpPostedFileBase elozoTanevEvvegiBizonyitvanyDokumentum)
{
return UploadFile(elozoTanevEvvegiBizonyitvanyDokumentum, ApaczaiDokumentumTipusEnum.ElozoTanevEvvegiBizonyitvany);
}
public ActionResult PalyazatFellebbezesPartialView()
{
var model = new TanuloApaczaiFellebbezesModel();
return PartialView("FellebbezesPartialView", model);
}
public ActionResult DeleteDokumentum(Guid dokumentumId)
{
try
{
if (new TanuloApaczaiHelper(ConnectionTypeExtensions.GetSessionConnectionType()).DeletePalyazatDokumentuma(_kgrClient, ClaimData.FelhasznaloIdpEgyediAzonosito, dokumentumId))
{
return Json(new { dokumentumId });
}
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.SikertelenApaczaiDokumentumTorles);
}
catch (Exception ex)
{
if (ex.Data["ApaczaiHiba"] != null)
{
throw new StatusError(HttpStatusCode.BadRequest, null) { Json = ex.Data["ApaczaiHiba"], };
}
throw new StatusError(HttpStatusCode.BadRequest, ex.Message, ex);
}
}
private JsonResult UploadFile(HttpPostedFileBase dokumentum, ApaczaiDokumentumTipusEnum apaczaiDokumentumTipus)
{
var ms = new MemoryStream(dokumentum.ContentLength);
dokumentum.InputStream.CopyTo(ms);
var bytes = ms.ToArray();
ms.Dispose();
var uploadedFileCo = new UploadedFileCO
{
PostedFile = bytes,
PostedFileContentType = dokumentum.ContentType,
PostedFileName = dokumentum.FileName,
ApaczaiDokumentumTipus = apaczaiDokumentumTipus
};
try
{
if (!new TanuloApaczaiHelper(ConnectionTypeExtensions.GetSessionConnectionType()).UploadPalyazatDokumentumBinaryMode(_kgrClient, ClaimData.FelhasznaloIdpEgyediAzonosito, (int)apaczaiDokumentumTipus, uploadedFileCo))
{
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.SikertelenApaczaiDokumentumFeltoltes);
}
}
catch (Exception ex)
{
if (ex.Data["ApaczaiHiba"] != null)
{
throw new StatusError(HttpStatusCode.BadRequest, null) { Json = ex.Data["ApaczaiHiba"], };
}
throw new StatusError(HttpStatusCode.BadRequest, ex.Message, ex);
}
return Json(null);
}
}
}