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{ palyazatiMenuModel }; var isSzakkepzoJuttatas = new IntezmenyHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetIntezmenyiAdatok().IsSzakkepzoJuttatas; var dokumentumChildModel = new List{ { new TanuloApaczaiDokumentumMenuModel { PalyazatStatusz = palyazat.Statusz, IsSzakkepzoJuttatas = isSzakkepzoJuttatas } } }; var model = new TanuloApaczaiModel { PanelName = "ApaczaiMenu", ExpandMode = Kendo.Mvc.UI.PanelBarExpandMode.Multiple, ChildModels = new List { 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 { 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 { 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); } } }