init
This commit is contained in:
@@ -0,0 +1,245 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Core;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Framework.Util;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Intezmeny.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Models.EditorTemplates;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Intezmeny.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
|
||||
[MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev, KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class TanevRendjeController : Controller
|
||||
{
|
||||
// GET: Intezmeny/TanevRendje
|
||||
public ActionResult Index()
|
||||
{
|
||||
string defaultCsengetesirend;
|
||||
var csengetesirendList = GetCsengetesiRendList();
|
||||
if (csengetesirendList.Exists(x => x.Selected))
|
||||
{
|
||||
defaultCsengetesirend = csengetesirendList.Where(x => x.Selected).FirstOrDefault().Value;
|
||||
}
|
||||
else if (csengetesirendList.Count == 1)
|
||||
{
|
||||
defaultCsengetesirend = csengetesirendList.FirstOrDefault().Value;
|
||||
}
|
||||
else
|
||||
{
|
||||
defaultCsengetesirend = string.Empty;
|
||||
}
|
||||
|
||||
var tanevHelper = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var tanevCO = tanevHelper.GetTanevInfo();
|
||||
|
||||
var model = new TanevRendjeIndexModel()
|
||||
{
|
||||
HetirendList = GetSortedHetirendIdList(),
|
||||
DefaultHetirendValue = ((int)HetiRendTipusEnum.MindegyikHet).ToString(),
|
||||
DefaultCsengetesiRendValue = defaultCsengetesirend,
|
||||
TanevKezdoNap = tanevCO.KezdoNap,
|
||||
TanevUtolsoNap = tanevCO.UtolsoNap,
|
||||
};
|
||||
return View(model);
|
||||
}
|
||||
|
||||
#region PopUp actions
|
||||
|
||||
public ActionResult OpenNewTanevRendjePopUp(DateTime? tanevRendjeDatum)
|
||||
{
|
||||
var tanevRendjeModel = new TanevRendjeModel
|
||||
{
|
||||
OsszesCsop = true,
|
||||
NapTipusaList = GetNapTipusaList(true),
|
||||
CsengetesiRendList = GetCsengetesiRendList(),
|
||||
IsElteroNapModosithato = true
|
||||
};
|
||||
|
||||
if (tanevRendjeDatum.HasValue)
|
||||
{
|
||||
tanevRendjeModel.Datum = tanevRendjeDatum.Value.Date;
|
||||
tanevRendjeModel.ElteroOrarendSzerintiTanitasNapDatum = tanevRendjeDatum.Value.Date;
|
||||
}
|
||||
|
||||
var tanevHelper = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var tanevCO = tanevHelper.GetTanevInfo();
|
||||
tanevRendjeModel.TanevKezdoNap = tanevCO.KezdoNap;
|
||||
tanevRendjeModel.TanevUtolsoNap = tanevCO.UtolsoNap;
|
||||
|
||||
if (tanevRendjeDatum.HasValue)
|
||||
{
|
||||
if ((tanevRendjeDatum.Value.Date < tanevCO.KezdoNap) || (tanevRendjeDatum.Value.Date > tanevCO.UtolsoNap))
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.ADatumCsakAKivalasztottTanevbeEsoIdoszakLehet);
|
||||
}
|
||||
|
||||
var tanevrendHelper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
tanevRendjeModel.CsengetesiRend = tanevrendHelper.GetTanevrendDefaultCsengetesiRend(tanevCO.Id);
|
||||
|
||||
var model = new PopUpModel(tanevRendjeModel, "New_PopUp");
|
||||
|
||||
model.AddCancelBtn(model, "TanevRendjeHelper.newTanevRendjeCancel");
|
||||
model.AddOkBtn(model, "TanevRendjeHelper.newTanevRendjeSave");
|
||||
|
||||
return PartialView(Constants.General.PopupView, model);
|
||||
}
|
||||
|
||||
public ActionResult OpenModifyTanevRendjePopUp(int tanevRendjeId)
|
||||
{
|
||||
TanevrendCO co;
|
||||
var helper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
co = helper.GetTanevrendById(tanevRendjeId);
|
||||
|
||||
var nemodosithato = co.NapTip == (int)NapTipusEnum.elso_tanitasi_nap || co.NapTip == (int)NapTipusEnum.elso_felev_vege || co.NapTip == (int)NapTipusEnum.utolso_tanitasi_nap || co.NapTip == (int)NapTipusEnum.utolso_tanitasi_nap_a_vegzos_evfolyamokon;
|
||||
|
||||
var tanevRendjeModel = new TanevRendjeModel
|
||||
{
|
||||
TanevRendjeId = co.ID,
|
||||
Datum = co.Datum,
|
||||
NapTipusa = co.NapTip,
|
||||
Nap = co.Nap,
|
||||
Hetirend = co.Hetirend,
|
||||
OsszesCsop = co.OsszesCsop,
|
||||
CsengetesiRend = co.CsengetesiRend,
|
||||
Megjegyzes = co.Megjegyzes,
|
||||
UresOrarend = co.UresOrarend,
|
||||
ElteroOrarendSzerintiTanitasNapDatum = co.ElteroOrarendSzerintiTanitasNapDatum.HasValue ? co.ElteroOrarendSzerintiTanitasNapDatum : co.Datum,
|
||||
IsElteroNapModosithato = co.IsElteroNapModosithato,
|
||||
|
||||
NapTipusaList = GetNapTipusaList(!nemodosithato, co.NapTip),
|
||||
CsengetesiRendList = GetCsengetesiRendList()
|
||||
};
|
||||
|
||||
var tanevHelper = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var tanevCO = tanevHelper.GetTanevInfo();
|
||||
tanevRendjeModel.TanevKezdoNap = tanevCO.KezdoNap;
|
||||
tanevRendjeModel.TanevUtolsoNap = tanevCO.UtolsoNap;
|
||||
|
||||
var model = new PopUpModel(tanevRendjeModel, "New_PopUp");
|
||||
|
||||
model.AddCancelBtn(model, "TanevRendjeHelper.modifyTanevRendjeCancel");
|
||||
model.AddOkBtn(model, "TanevRendjeHelper.modifyTanevRendjeSave");
|
||||
|
||||
return PartialView(Constants.General.PopupView, model);
|
||||
}
|
||||
|
||||
public ActionResult OpenTanevRendjeInfoPopUp(int tanevRendjeId)
|
||||
{
|
||||
TanevRendjeInfoModel tanevRendjeInfoModel;
|
||||
var helper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
TanevrendCO tanevrendCO = helper.GetTanevrendById(tanevRendjeId);
|
||||
tanevRendjeInfoModel = new TanevRendjeInfoModel
|
||||
{
|
||||
TanevNeve = tanevrendCO.TanevNeve,
|
||||
Datum = tanevrendCO.Datum.ToShortDateString(),
|
||||
NapTipusa = tanevrendCO.NapTip.GetDisplayName<NapTipusEnum>(ClaimData.SelectedTanevID.Value),
|
||||
Nap = (tanevrendCO.Nap.IsEntityId()) ? tanevrendCO.Nap.GetDisplayName<HetNapjaTipusEnum>(ClaimData.SelectedTanevID.Value) : string.Empty,
|
||||
Hetirend = tanevrendCO.Hetirend.GetDisplayName<HetiRendTipusEnum>(tanevrendCO.Tanev),
|
||||
Csoportok = tanevrendCO.Csoportok,
|
||||
CsengetesiRend = helper.GetTanevrendValueString(tanevrendCO.Tanev, tanevrendCO.CsengetesiRend),
|
||||
Megjegyzes = tanevrendCO.Megjegyzes,
|
||||
UresOrarend = tanevrendCO.UresOrarend,
|
||||
ElteroOrarendSzerintiTanitasNapDatum = tanevrendCO.ElteroOrarendSzerintiTanitasNapDatum.ToShortDateString()
|
||||
};
|
||||
|
||||
var model = new PopUpModel(tanevRendjeInfoModel, "Info_PopUp");
|
||||
|
||||
model.AddCancelBtn(model, "TanevRendjeHelper.tanevRendjeInfoCancel");
|
||||
|
||||
return PartialView(Constants.General.PopupView, model);
|
||||
}
|
||||
|
||||
public ActionResult OpenSetHetirendPopUp()
|
||||
{
|
||||
var model = new PopUpModel(null, "SetHetirend_PopUp");
|
||||
|
||||
model.AddCancelBtn(model, "TanevRendjeHelper.setHetirendCancel");
|
||||
model.AddOkBtn(model, "TanevRendjeHelper.validationHetirendHelyettesites");
|
||||
|
||||
return PartialView(Constants.General.PopupView, model);
|
||||
}
|
||||
|
||||
public ActionResult OpenDeleteTanevRendjePopUp(int tanevRendjeId)
|
||||
{
|
||||
var model = new PopUpModel(tanevRendjeId, "DeleteConfirm_PopUp");
|
||||
|
||||
model.AddCancelBtn(model, "TanevRendjeHelper.deleteTanevRendjeCancel");
|
||||
model.AddDeleteBtn(model, "TanevRendjeHelper.deleteTanevRendje");
|
||||
|
||||
return PartialView(Constants.General.PopupView, model);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region DropDownList data
|
||||
|
||||
public static List<SelectListItem> GetTanevList()
|
||||
{
|
||||
IDictionary<string, string> dictionary;
|
||||
var helper = new TanevHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
dictionary = helper.GetTanevekForDDL(string.Empty);
|
||||
|
||||
return dictionary.ToSelectListItemList();
|
||||
}
|
||||
|
||||
public static List<SelectListItem> GetNapTipusaList(bool isNewTanevRendje, int? currentNaptipus = null)
|
||||
{
|
||||
IDictionary<string, string> dictionary = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.NapTipus, ClaimData.SelectedTanevID.Value, true);
|
||||
|
||||
// Új felvételekor bizonyos kiemelt típusok közül nem lehet felvenni egynél többet (pl: Első tanítási nap, Utolsó tanítási nap, stb...), ezért ezeket kiszedi a DropDownListből, ha már van felvéve egy adott kiemelt típusú esemény.
|
||||
if (isNewTanevRendje)
|
||||
{
|
||||
List<int> marFelvettKiemeltEsemenyek;
|
||||
TanevrendHelper helper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
marFelvettKiemeltEsemenyek = helper.GetMarFelvettKiemeltTanevEsemenyek();
|
||||
|
||||
foreach (int id in marFelvettKiemeltEsemenyek)
|
||||
{
|
||||
if (currentNaptipus == null || currentNaptipus != id)
|
||||
{
|
||||
dictionary.Remove(id.ToString());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dictionary.Remove(((int)NapTipusEnum.OsszefuggoSzakmaiGyakorlatiNap).ToString());
|
||||
|
||||
return dictionary.ToSelectListItemList();
|
||||
}
|
||||
|
||||
public static List<SelectListItem> GetCsengetesiRendList()
|
||||
{
|
||||
IDictionary<string, string> dictionary;
|
||||
var helper = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
dictionary = helper.GetCsengetesiRendForDDL(string.Empty);
|
||||
|
||||
return dictionary.ToSelectListItemList();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
public static List<int> GetSortedHetirendIdList() => new NaptariHetHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSortedHetirendIdList();
|
||||
|
||||
public static List<SelectListItem> GetNapList()
|
||||
{
|
||||
IDictionary<string, string> dictionary = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.HetNapjaTipus, ClaimData.SelectedTanevID.Value, true);
|
||||
|
||||
return dictionary.ToSelectListItemList();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user