init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -0,0 +1,349 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.Classes.ComboBox;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Helpers.SystemSettings;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Core;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Enums.ManualEnums.SystemSettings;
|
||||
using Kreta.Framework.Util;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Adminisztracio.Models;
|
||||
using Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles;
|
||||
using Kreta.Web.Classes;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Models.EditorTemplates;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.TanuloErtekeles.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue)]
|
||||
public class MagatartasSzorgalomController : BaseTanuloErtekelesController
|
||||
{
|
||||
#region Properties
|
||||
|
||||
public static string StartPopupFormName => "MagatartasSzorgalomStartPopupForm";
|
||||
public static string StartPopupId => "MagatartasSzorgalomStartPopupWindow";
|
||||
|
||||
public static string EditPopupFormName => "MagatartasSzorgalomEditPopupForm";
|
||||
public static string EditPopupId => "MagatartasSzorgalomEditPopupWindow";
|
||||
|
||||
#endregion Properties
|
||||
|
||||
private IKretaAuthorization Authorization { get; }
|
||||
|
||||
public MagatartasSzorgalomController(IKretaAuthorization authorization)
|
||||
{
|
||||
Authorization = authorization;
|
||||
}
|
||||
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.TanarAdhatMagatartasSzorgalomJegyet.ClaimValue)]
|
||||
public ActionResult IndexEvkoziTanar()
|
||||
{
|
||||
return IndexEvkozi(isTanarEvkozi: true);
|
||||
}
|
||||
|
||||
public ActionResult IndexEvkoziOfo()
|
||||
{
|
||||
return IndexEvkozi(isTanarEvkozi: false);
|
||||
}
|
||||
|
||||
private ActionResult IndexEvkozi(bool isTanarEvkozi)
|
||||
{
|
||||
MagatartasSzorgalomListModel model = GetMagatartasSzorgalomListModel((int)ErtekelesTipusEnum.evkozi_jegy_ertekeles, isTanarEvkozi);
|
||||
return View("Index", model);
|
||||
}
|
||||
|
||||
public ActionResult IndexFeleviOfo()
|
||||
{
|
||||
return IndexFelevi();
|
||||
}
|
||||
|
||||
private ActionResult IndexFelevi()
|
||||
{
|
||||
MagatartasSzorgalomListModel model = GetMagatartasSzorgalomListModel((int)ErtekelesTipusEnum.felevi_jegy_ertekeles);
|
||||
return View("Index", model);
|
||||
}
|
||||
|
||||
public ActionResult IndexEvvegiOfo()
|
||||
{
|
||||
return IndexEvvegi();
|
||||
}
|
||||
|
||||
private ActionResult IndexEvvegi()
|
||||
{
|
||||
MagatartasSzorgalomListModel model = GetMagatartasSzorgalomListModel((int)ErtekelesTipusEnum.evvegi_jegy_ertekeles);
|
||||
return View("Index", model);
|
||||
}
|
||||
|
||||
public ActionResult IndexEgyebOfo()
|
||||
{
|
||||
return IndexEgyeb();
|
||||
}
|
||||
|
||||
private ActionResult IndexEgyeb()
|
||||
{
|
||||
MagatartasSzorgalomListModel model = GetMagatartasSzorgalomListModel();
|
||||
return View("Index", model);
|
||||
}
|
||||
|
||||
public ActionResult MagatartasSzorgalomGridDetail(MagatartasSzorgalomDetailModel model)
|
||||
{
|
||||
model.NamePrefix = "MagatartasSzorgalom";
|
||||
model.IsAmiMagatartasErtekelheto = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.magatartas_ertekeles_szabalyozasa);
|
||||
return PartialView("GridDetail", model);
|
||||
}
|
||||
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.TanarAdhatMagatartasSzorgalomJegyet.ClaimValue)]
|
||||
public ActionResult OpenStartPopup(int? tipusId)
|
||||
{
|
||||
int keresoAdatTipus = GetKeresoAdatTipus();
|
||||
|
||||
var model = new MagatartasSzorgalomStartPopupModel
|
||||
{
|
||||
MagatartasSzorgalomKeresoAdatTipus = keresoAdatTipus,
|
||||
MagatartasSzorgalomKeresoSzuro = ClaimData.IsOnlyTanar ? (int)MagatartasSzorgalomKeresoSzuroEnum.Ttf : (int)MagatartasSzorgalomKeresoSzuroEnum.Osztalyfonok,
|
||||
TipusId = tipusId,
|
||||
|
||||
MagatartasSzorgalomKeresoSzuroList = GetMagatartasSzorgalomKeresoSzuroList(keresoAdatTipus),
|
||||
TipusList = GetTipusList(),
|
||||
|
||||
OsztalyCsoportList = GetOsztalyCsoportList(),
|
||||
OsztalyCsoportListByFelhasznaloId = GetOsztalyCsoportListByFelhasznaloId(),
|
||||
OsztalyCsoportListByFoglalkozas = GetOsztalyCsoportListByFoglalkozas()
|
||||
};
|
||||
|
||||
return PartialView("Start_Popup", model);
|
||||
}
|
||||
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.TanarAdhatMagatartasSzorgalomJegyet.ClaimValue)]
|
||||
public ActionResult OpenEditPopup(int id, int ellatottFeladatTipusId)
|
||||
{
|
||||
if (!Authorization.IsValidMagatartasSzorgalom(id))
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.NincsJogaAzOldalMegtekintesehez);
|
||||
}
|
||||
|
||||
var connectionType = ConnectionTypeExtensions.GetSessionConnectionType();
|
||||
|
||||
var helper = new TanuloErtekelesHelper(connectionType);
|
||||
TanuloErtekelesCo tanuloErtekelesCo = helper.GetTanuloErtekelesCoById(id);
|
||||
|
||||
var naplozarasDatum = new OrarendHelper(connectionType).GetNaplozarasDate(startDate: null);
|
||||
|
||||
var systemSettingsHelper = new SystemSettingsHelper(connectionType);
|
||||
|
||||
var magatartasSzorgalomEditModel = new MagatartasSzorgalomEditModel
|
||||
{
|
||||
IdEdit = tanuloErtekelesCo.Id.Value,
|
||||
TanuloIdEdit = tanuloErtekelesCo.TanuloId,
|
||||
DatumMinValueEdit = naplozarasDatum,
|
||||
OsztalyCsoportIdEdit = tanuloErtekelesCo.OsztalyCsoportId,
|
||||
ErtekeloNyomtatasiNevEdit = tanuloErtekelesCo.ErtekeloNyomtatasiNev,
|
||||
DatumEdit = tanuloErtekelesCo.Datum,
|
||||
TipusIdEdit = tanuloErtekelesCo.TipusId,
|
||||
|
||||
EllatottFeladatTipusId = ellatottFeladatTipusId,
|
||||
IsAmiMagatartasErtekelheto = systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.magatartas_ertekeles_szabalyozasa),
|
||||
|
||||
TipusList = GetTipusList(),
|
||||
OsztalyzatList = GetOsztalyzatList(true),
|
||||
|
||||
MagatartasOsztalyzatIdEdit = tanuloErtekelesCo.MagatartasOsztalyzatId,
|
||||
MagatartasSzovegEdit = tanuloErtekelesCo.MagatartasSzovegFormazott,
|
||||
MagatartasSzovegNemetEdit = tanuloErtekelesCo.MagatartasSzovegFormazottNemet,
|
||||
MagatartasSzovegHorvatEdit = tanuloErtekelesCo.MagatartasSzovegFormazottHorvat,
|
||||
MagatartasSzovegRomanEdit = tanuloErtekelesCo.MagatartasSzovegFormazottRoman,
|
||||
MagatartasSzovegSzerbEdit = tanuloErtekelesCo.MagatartasSzovegFormazottSzerb,
|
||||
MagatartasSzovegRovidNevEdit = tanuloErtekelesCo.MagatartasSzovegRovidNev,
|
||||
MagatartasErtekIdEdit = tanuloErtekelesCo.MagatartasErtekId,
|
||||
SzorgalomOsztalyzatIdEdit = tanuloErtekelesCo.SzorgalomOsztalyzatId,
|
||||
SzorgalomSzovegEdit = tanuloErtekelesCo.SzorgalomSzovegFormazott,
|
||||
SzorgalomSzovegNemetEdit = tanuloErtekelesCo.SzorgalomSzovegFormazottNemet,
|
||||
SzorgalomSzovegHorvatEdit = tanuloErtekelesCo.SzorgalomSzovegFormazottHorvat,
|
||||
SzorgalomSzovegRomanEdit = tanuloErtekelesCo.SzorgalomSzovegFormazottRoman,
|
||||
SzorgalomSzovegSzerbEdit = tanuloErtekelesCo.SzorgalomSzovegFormazottSzerb,
|
||||
SzorgalomSzovegRovidNevEdit = tanuloErtekelesCo.SzorgalomSzovegRovidNev,
|
||||
SzorgalomErtekIdEdit = tanuloErtekelesCo.SzorgalomErtekId,
|
||||
|
||||
MagatartasErtekList = GetMagatartasErtekList(),
|
||||
SzorgalomErtekList = GetSzorgalomErtekList(),
|
||||
|
||||
NemzetiDokumentumNyelvek = systemSettingsHelper.GetSystemSettingValue<List<int>>(RendszerBeallitasTipusEnum.Nemzeti_Nyelvi_Dokumentum_Nyelvek)
|
||||
};
|
||||
|
||||
var popUpModel = new PopUpModel(magatartasSzorgalomEditModel, "Edit_Popup");
|
||||
|
||||
popUpModel.AddBtn(popUpModel, "MagatartasSzorgalomPopupCancelButton", CommonResource.Megse, "MagatartasSzorgalomHelper.editCancel", "BtnCancel");
|
||||
popUpModel.AddBtn(popUpModel, "MagatartasSzorgalomPopupSaveButton", CommonResource.Mentes, "MagatartasSzorgalomHelper.editSave", "BtnOk");
|
||||
popUpModel.AddBtn(popUpModel, "MagatartasSzorgalomPopupDeleteButton", CommonResource.Torles, "MagatartasSzorgalomHelper.editDeleteConfirmWindow", "BtnDelete");
|
||||
|
||||
return PartialView(Constants.General.PopupView, popUpModel);
|
||||
}
|
||||
|
||||
public ActionResult OpenMondatbankSelectPopup(TanuloErtekelesMondatbankItemSelectModel model)
|
||||
{
|
||||
model.NemzetiDokumentumNyelvek = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSystemSettingValue<List<int>>(RendszerBeallitasTipusEnum.Nemzeti_Nyelvi_Dokumentum_Nyelvek);
|
||||
int? evfolyamTipusId = null;
|
||||
if (model.MondatbankSelectPopupOsztalyCsoportId.IsEntityId())
|
||||
{
|
||||
evfolyamTipusId = new OsztalyCsoportHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetOsztalyCsoportEvfolyamTipusId(model.MondatbankSelectPopupOsztalyCsoportId.Value);
|
||||
}
|
||||
|
||||
var helper = new TanuloErtekelesMondatbankHelper(ConnectionTypeExtensions.GetSessionConnectionType())
|
||||
{
|
||||
GridParameters = new GridParameters
|
||||
{
|
||||
OrderBy = "RovidNev ASC"
|
||||
}
|
||||
};
|
||||
DataSet dataSet = helper.GetMondatbankSelectListData(model.MondatbankSelectPopupTanuloErtekelesTipusId, model.MondatbankSelectPopupTipusId, model.MondatbankSelectPopupTantargyId, evfolyamTipusId);
|
||||
|
||||
List<DataRow> mondatbankItemRows = dataSet.Tables[0].Rows.Cast<DataRow>().ToList();
|
||||
model.MondatbankItemSelectList = GetMondatbankItemSelectList(mondatbankItemRows);
|
||||
model.MondatbankItemList = GetMondatbankItemList(mondatbankItemRows);
|
||||
|
||||
var popUpModel = new PopUpModel(model, "MondatbankItem_Select_Popup");
|
||||
popUpModel.AddBtn(popUpModel, "MagatartasSzorgalomMondatbankSelectPopupCancelButton", CommonResource.Megse, "MagatartasSzorgalomHelper.mondatbankSelectPopupCancel", "BtnCancel");
|
||||
popUpModel.AddBtn(popUpModel, "MagatartasSzorgalomMondatbankSelectPopupSelectButton", CommonResource.Kivalasztas, "MagatartasSzorgalomHelper.mondatbankSelectPopupSelect", "BtnOk");
|
||||
|
||||
return PartialView(Constants.General.PopupView, popUpModel);
|
||||
}
|
||||
|
||||
private MagatartasSzorgalomListModel GetMagatartasSzorgalomListModel(int? tipusId = null, bool isTanarEvkozi = false)
|
||||
{
|
||||
int keresoAdatTipus = GetKeresoAdatTipus();
|
||||
|
||||
var connectionType = ConnectionTypeExtensions.GetSessionConnectionType();
|
||||
|
||||
var ertekelesZarasDatuma = new OrarendHelper(connectionType).GetErtekelesZarasDatuma();
|
||||
|
||||
var lezartOsztalyokEsBontottCsoportjaik = new NaplozarasLogic(connectionType).GetLezartOsztalyokEsBontottCsoportjaik();
|
||||
|
||||
var systemSettingsHelper = new SystemSettingsHelper(connectionType);
|
||||
|
||||
var model = new MagatartasSzorgalomListModel
|
||||
{
|
||||
NamePrefix = "MagatartasSzorgalom",
|
||||
TipusId = tipusId,
|
||||
Datum = DateTime.Today,
|
||||
DatumMinValue = ertekelesZarasDatuma,
|
||||
OsztalyCsoportId = ClaimData.FelhasznaloSzerepkorok.ContainsKey(SzerepkorTipusEnum.Naplo) ? new OsztalyCsoportHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetOsztalyfonokElsonekMegtalaltOsztalya(ClaimData.FelhasznaloId) : null,
|
||||
|
||||
OsztalyzatList = GetOsztalyzatList(true).Select(x => new ExtendedSelectListItem(x)).ToList(),
|
||||
TipusList = GetTipusList(isTanarEvkozi),
|
||||
OsztalyCsoportList = GetOsztalyCsoportList(),
|
||||
OsztalyCsoportListByFelhasznaloId = GetOsztalyCsoportListByFelhasznaloId(),
|
||||
|
||||
MagatartasSzorgalomKeresoAdatTipus = keresoAdatTipus,
|
||||
|
||||
MagatartasErtekList = GetMagatartasErtekList(),
|
||||
SzorgalomErtekList = GetSzorgalomErtekList(),
|
||||
OsztalyCsoportListByFoglalkozas = GetOsztalyCsoportListByFoglalkozas(),
|
||||
|
||||
IsAmiMagatartasErtekelheto = systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.magatartas_ertekeles_szabalyozasa),
|
||||
|
||||
NemzetiDokumentumNyelvek = systemSettingsHelper.GetSystemSettingValue<List<int>>(RendszerBeallitasTipusEnum.Nemzeti_Nyelvi_Dokumentum_Nyelvek),
|
||||
|
||||
LezartOsztalyCsoportok = lezartOsztalyokEsBontottCsoportjaik,
|
||||
};
|
||||
|
||||
return model;
|
||||
}
|
||||
|
||||
private static int GetKeresoAdatTipus()
|
||||
{
|
||||
int keresoAdatTipus;
|
||||
if (ClaimData.IsSzuperOsztalyfonok)
|
||||
{
|
||||
keresoAdatTipus = (int)SystemSettingsMagatartasSzorgalomKeresesSzuroEnum.Mindenki;
|
||||
}
|
||||
else if (ClaimData.IsOnlyTanar)
|
||||
{
|
||||
keresoAdatTipus = (int)SystemSettingsMagatartasSzorgalomKeresesSzuroEnum.TTF;
|
||||
}
|
||||
else
|
||||
{
|
||||
keresoAdatTipus = (int)SystemSettingsMagatartasSzorgalomKeresesSzuroEnum.Osztalyfonok;
|
||||
}
|
||||
|
||||
return keresoAdatTipus;
|
||||
}
|
||||
|
||||
private List<SelectListItem> GetTipusList(bool isTanarEvkozi = false)
|
||||
{
|
||||
var enumList = new List<ErtekelesTipusEnum>
|
||||
{
|
||||
ErtekelesTipusEnum.evkozi_jegy_ertekeles
|
||||
};
|
||||
//NOTE: Ha szaktanárok is adhatnak m/sz-at (rendszerbeállítás), akkor nekik csak évközi típus engedélyezett.
|
||||
if (!isTanarEvkozi)
|
||||
{
|
||||
List<int> egyszerAdhatoErtekelesTipusIds = EnumExtensions.GetErtekelesTipusDictionaryItems(ClaimData.SelectedTanevID.Value, true).Select(x => x.Id).ToList();
|
||||
enumList.AddRange(egyszerAdhatoErtekelesTipusIds.Select(egyszerAdhatoErtekelesTipusId => (ErtekelesTipusEnum)egyszerAdhatoErtekelesTipusId));
|
||||
}
|
||||
IDictionary<string, string> enumItemDictironaryToSelectList = enumList.EnumItemListToDictionary(ClaimData.SelectedTanevID.Value);
|
||||
|
||||
List<SelectListItem> result = enumItemDictironaryToSelectList.ToSelectListItemList();
|
||||
return result;
|
||||
}
|
||||
|
||||
private static IEnumerable<ExtraDataComboBoxListItem> GetOsztalyCsoportListByFoglalkozas()
|
||||
{
|
||||
var osztalyCsoportHelper = new OsztalyCsoportHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
return osztalyCsoportHelper.GetOsztalyCsoportByFoglalkozasForDropDownList();
|
||||
}
|
||||
|
||||
private List<SelectListItem> GetMagatartasErtekList()
|
||||
{
|
||||
var result = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.MagatartasErtekelesTipus, ClaimData.SelectedTanevID.Value).ToSelectListItemList();
|
||||
return result;
|
||||
}
|
||||
|
||||
private List<SelectListItem> GetSzorgalomErtekList()
|
||||
{
|
||||
var result = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.SzorgalomErtekelesTipus, ClaimData.SelectedTanevID.Value).ToSelectListItemList();
|
||||
return result;
|
||||
}
|
||||
|
||||
private List<SelectListItem> GetMagatartasSzorgalomKeresoSzuroList(int magatartasSzorgalomKeresoAdatTipus)
|
||||
{
|
||||
if (magatartasSzorgalomKeresoAdatTipus == (int)SystemSettingsMagatartasSzorgalomKeresesSzuroEnum.Osztalyfonok)
|
||||
{
|
||||
return new List<SelectListItem>();
|
||||
}
|
||||
|
||||
var removeTipusList = new List<string>();
|
||||
if (magatartasSzorgalomKeresoAdatTipus == (int)SystemSettingsMagatartasSzorgalomKeresesSzuroEnum.Mindenki && ClaimData.IsOnlyTanar)
|
||||
{
|
||||
removeTipusList.Add(((int)MagatartasSzorgalomKeresoSzuroEnum.Osztalyfonok).ToString());
|
||||
}
|
||||
else if (magatartasSzorgalomKeresoAdatTipus == (int)SystemSettingsMagatartasSzorgalomKeresesSzuroEnum.TTF)
|
||||
{
|
||||
removeTipusList.Add(((int)MagatartasSzorgalomKeresoSzuroEnum.Mindenki).ToString());
|
||||
if (ClaimData.IsOnlyTanar)
|
||||
{
|
||||
removeTipusList.Add(((int)MagatartasSzorgalomKeresoSzuroEnum.Osztalyfonok).ToString());
|
||||
}
|
||||
}
|
||||
else if (magatartasSzorgalomKeresoAdatTipus == (int)SystemSettingsMagatartasSzorgalomKeresesSzuroEnum.Osztalyfonok)
|
||||
{
|
||||
removeTipusList.Add(((int)MagatartasSzorgalomKeresoSzuroEnum.Mindenki).ToString());
|
||||
removeTipusList.Add(((int)MagatartasSzorgalomKeresoSzuroEnum.Osztalyfonok).ToString());
|
||||
}
|
||||
|
||||
var result = FrameworkEnumExtensions.EnumToListManual<MagatartasSzorgalomKeresoSzuroEnum>().ToSelectListItemList(removeTipusList);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue