init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
671
KretaWeb/Areas/LEPModul/ApiControllers/EloadasokKezeleseApi.cs
Normal file
671
KretaWeb/Areas/LEPModul/ApiControllers/EloadasokKezeleseApi.cs
Normal file
|
@ -0,0 +1,671 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Web.Http;
|
||||
using System.Web.Http.Results;
|
||||
using System.Web.Mvc;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Client.LEP;
|
||||
using Kreta.Core.Configuratiaton.Interface;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.LEPModul.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Security;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Kreta.Web.Areas.LEPModul.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.IsLEPKezelo.ClaimValue, KretaClaimPackages.Ellenorzo.ClaimValue)]
|
||||
public class EloadasokKezeleseApiController : ApiController
|
||||
{
|
||||
private readonly ILepConfiguration LepConfiguration;
|
||||
|
||||
public EloadasokKezeleseApiController(ILepConfiguration lepConfiguration)
|
||||
{
|
||||
LepConfiguration = lepConfiguration ?? throw new ArgumentNullException(nameof(lepConfiguration));
|
||||
}
|
||||
|
||||
public DataSourceResult GetEloadasokGrid(string data, [System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
try
|
||||
{
|
||||
EloadasokSearchModel model = JsonConvert.DeserializeObject<EloadasokSearchModel>(data);
|
||||
List<EloadasokGridModel> lEloadasok = new List<EloadasokGridModel>();
|
||||
List<EloadasokGridModel> LResult = new List<EloadasokGridModel>();
|
||||
model.EvfolyamIdList = new List<int>();
|
||||
|
||||
if (model.EvfolyamID.HasValue)
|
||||
{
|
||||
model.EvfolyamIdList.Add(model.EvfolyamID.Value);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!model.IsMindenEvfolyamJog)
|
||||
{
|
||||
foreach (var item in new OsztalyCsoportHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetLEPOszlyCspoortByTanevAndFelhasznalo(ClaimData.FelhasznaloId))
|
||||
{
|
||||
model.EvfolyamIdList.Add(item.EvfolyamTipusa);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var client = new LepClient(LepConfiguration.Url, LepConfiguration.ApiKey);
|
||||
var kozpontiResult = client.GetEloadasok(ClaimData.IntezmenyAzonosito, model.EvfolyamIdList);
|
||||
|
||||
if (kozpontiResult != null)
|
||||
{
|
||||
var groupedResult = kozpontiResult.GroupBy(x => (x.Id, x.IranyitoSzam, x.Telepules, x.KozteruletNev, x.KozteruletJellegNev, x.Hazszam, x.Kezdete, x.Vege, x.SzervezetNev, x.Nev, x.Leiras))
|
||||
.ToDictionary(x => x.Key, x =>
|
||||
(EvfolyamIdList: x.Select(y => y.Evfolyam).ToList(),
|
||||
Ferohelyek: x.Select(y => (
|
||||
FerohelyMax: y.KiseroLetszam + y.TanuloLetszam,
|
||||
JelentkezokSzama: (y.KiseroJelentkezokSzama ?? 0) + (y.TanuloJelentkezokSzama ?? 0))).Distinct().Single(),
|
||||
EngedelyezettLetszamok: x.Select(y => (
|
||||
KiseroLetszam: y.KiseroLetszam,
|
||||
KiseroLetszamFennmarado: y.KiseroLetszamFennmarado,
|
||||
TanuloLetszam: y.TanuloLetszam,
|
||||
TanuloLetszamFennmarado: y.TanuloLetszamFennmarado)).Distinct().Single(),
|
||||
IsToroltJelentkezes: x.Select(y => y.IsToroltJelentkezes).Distinct().Single()));
|
||||
|
||||
foreach (var item in groupedResult)
|
||||
{
|
||||
if (item.Value.IsToroltJelentkezes)
|
||||
{
|
||||
new LepEloadasJegyzekHelper(ConnectionTypeExtensions.GetSessionConnectionType()).DeleteTanulokByEloadasId(item.Key.Id);
|
||||
}
|
||||
if (item.Value.EvfolyamIdList.Intersect(Core.Constants.LepEnabledEvfolyam).Any())
|
||||
{
|
||||
lEloadasok.Add(new EloadasokGridModel()
|
||||
{
|
||||
ID = $"{item.Key.Id}",
|
||||
Helyszin = $"{item.Key.IranyitoSzam} {item.Key.Telepules} {item.Key.KozteruletNev} {item.Key.KozteruletJellegNev} {item.Key.Hazszam}",
|
||||
Datum = item.Key.Kezdete.Date,
|
||||
EloadasKezdete = item.Key.Kezdete,
|
||||
EloadasVege = item.Key.Vege,
|
||||
SzervezetNev = item.Key.SzervezetNev,
|
||||
EloadasNev = item.Key.Nev,
|
||||
FerohelyFoglaltHelyek = $"{item.Value.Ferohelyek.FerohelyMax} / {item.Value.Ferohelyek.JelentkezokSzama}",
|
||||
EvFolyamIdList = string.Join(",", item.Value.EvfolyamIdList),
|
||||
Leiras = item.Key.Leiras,
|
||||
KiseroLetszam = item.Value.EngedelyezettLetszamok.KiseroLetszam,
|
||||
TanuloLetszam = item.Value.EngedelyezettLetszamok.TanuloLetszam,
|
||||
KiseroLetszamFennmarado = item.Value.EngedelyezettLetszamok.KiseroLetszamFennmarado,
|
||||
TanuloLetszamFennmarado = item.Value.EngedelyezettLetszamok.TanuloLetszamFennmarado,
|
||||
IsToroltJelentkezes = item.Value.IsToroltJelentkezes,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(model.EloadasNev))
|
||||
lEloadasok = lEloadasok.Where(x => x.EloadasNev.ToLower().Contains(model.EloadasNev.ToLower())).ToList();
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(model.Helyszin))
|
||||
lEloadasok = lEloadasok.Where(x => x.Helyszin.ToLower().Contains(model.Helyszin.ToLower())).ToList();
|
||||
|
||||
if (model.EvfolyamID.HasValue)
|
||||
lEloadasok = lEloadasok.Where(x => x.EvFolyamIdList.Contains(model.EvfolyamID.Value.ToString())).ToList();
|
||||
|
||||
if (model.IdoszakKezdete.HasValue || model.IdoszakVege.HasValue)
|
||||
{
|
||||
if (model.IdoszakKezdete.HasValue && model.IdoszakVege.HasValue)
|
||||
lEloadasok = lEloadasok.Where(x => x.Datum >= model.IdoszakKezdete && x.Datum <= model.IdoszakVege).ToList();
|
||||
|
||||
if (model.IdoszakKezdete.HasValue && !model.IdoszakVege.HasValue)
|
||||
lEloadasok = lEloadasok.Where(x => x.Datum >= model.IdoszakKezdete).ToList();
|
||||
|
||||
if (!model.IdoszakKezdete.HasValue && model.IdoszakVege.HasValue)
|
||||
lEloadasok = lEloadasok.Where(x => x.Datum <= model.IdoszakVege).ToList();
|
||||
}
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(model.SzervezetNev))
|
||||
lEloadasok = lEloadasok.Where(x => x.SzervezetNev.ToLower().Contains(model.SzervezetNev.ToLower())).ToList();
|
||||
|
||||
if (model.IdoszakKezdeteTime.HasValue)
|
||||
lEloadasok = lEloadasok.Where(x => x.EloadasKezdete.Value.TimeOfDay == model.IdoszakKezdeteTime.Value.TimeOfDay).ToList();
|
||||
|
||||
if (model.IdoszakVegeTime.HasValue)
|
||||
lEloadasok = lEloadasok.Where(x => x.EloadasVege.Value.TimeOfDay == model.IdoszakVegeTime.Value.TimeOfDay).ToList();
|
||||
}
|
||||
|
||||
if (lEloadasok.Count > 0)
|
||||
{
|
||||
if (request.Sorts.Count == 1)
|
||||
{
|
||||
var sort = request.Sorts[0];
|
||||
if (sort.Member == "Datum" && sort.SortDirection == ListSortDirection.Ascending)
|
||||
{ LResult = lEloadasok.OrderBy(x => x.Datum).ToList(); }
|
||||
if (sort.Member == "Datum" && sort.SortDirection == ListSortDirection.Descending)
|
||||
{ LResult = lEloadasok.OrderByDescending(x => x.Datum).ToList(); }
|
||||
|
||||
if (sort.Member == "EloadasKezdete" && sort.SortDirection == ListSortDirection.Ascending)
|
||||
{ LResult = lEloadasok.OrderBy(x => x.EloadasKezdete).ToList(); }
|
||||
if (sort.Member == "EloadasKezdete" && sort.SortDirection == ListSortDirection.Descending)
|
||||
{ LResult = lEloadasok.OrderByDescending(x => x.EloadasKezdete).ToList(); }
|
||||
|
||||
if (sort.Member == "EloadasVege" && sort.SortDirection == ListSortDirection.Ascending)
|
||||
{ LResult = lEloadasok.OrderBy(x => x.EloadasVege).ToList(); }
|
||||
if (sort.Member == "EloadasVege" && sort.SortDirection == ListSortDirection.Descending)
|
||||
{ LResult = lEloadasok.OrderByDescending(x => x.EloadasVege).ToList(); }
|
||||
|
||||
if (sort.Member == "EloadasNev" && sort.SortDirection == ListSortDirection.Ascending)
|
||||
{ LResult = lEloadasok.OrderBy(x => x.EloadasNev).ToList(); }
|
||||
if (sort.Member == "EloadasNev" && sort.SortDirection == ListSortDirection.Descending)
|
||||
{ LResult = lEloadasok.OrderByDescending(x => x.EloadasNev).ToList(); }
|
||||
|
||||
if (sort.Member == "Helyszin" && sort.SortDirection == ListSortDirection.Ascending)
|
||||
{ LResult = lEloadasok.OrderBy(x => x.Helyszin).ToList(); }
|
||||
if (sort.Member == "Helyszin" && sort.SortDirection == ListSortDirection.Descending)
|
||||
{ LResult = lEloadasok.OrderByDescending(x => x.Helyszin).ToList(); }
|
||||
|
||||
if (sort.Member == "SzervezetNev" && sort.SortDirection == ListSortDirection.Ascending)
|
||||
{ LResult = lEloadasok.OrderBy(x => x.SzervezetNev).ToList(); }
|
||||
if (sort.Member == "SzervezetNev" && sort.SortDirection == ListSortDirection.Descending)
|
||||
{ LResult = lEloadasok.OrderByDescending(x => x.SzervezetNev).ToList(); }
|
||||
}
|
||||
else
|
||||
{
|
||||
LResult = lEloadasok.ToList();
|
||||
}
|
||||
|
||||
var cnt = LResult.Count;
|
||||
var result = LResult.ToDataSourceResult();
|
||||
result.Total = cnt;
|
||||
result.Data = GetPage(LResult, request.Page, request.PageSize, cnt);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
return new DataSourceResult();
|
||||
}
|
||||
catch
|
||||
{
|
||||
return new DataSourceResult();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public DataSourceResult GetEloadasokGondviseloGrid(string data, [System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
try
|
||||
{
|
||||
EloadasokSearchModel model = JsonConvert.DeserializeObject<EloadasokSearchModel>(data);
|
||||
List<EloadasokGridModel> lEloadasok = new List<EloadasokGridModel>();
|
||||
List<EloadasokGridModel> LResult = new List<EloadasokGridModel>();
|
||||
model.EvfolyamIdList = new List<int>();
|
||||
model.IntezmenyAzonosito = ClaimData.IntezmenyAzonosito;
|
||||
|
||||
if (model.EvfolyamID.HasValue)
|
||||
{
|
||||
model.EvfolyamIdList.Add(model.EvfolyamID.Value);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!model.IsMindenEvfolyamJog)
|
||||
{
|
||||
foreach (var item in new OsztalyCsoportHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetLEPOszlyCspoortByTanevAndFelhasznalo(ClaimData.FelhasznaloId))
|
||||
{
|
||||
model.EvfolyamIdList.Add(item.EvfolyamTipusa);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var client = new LepClient(LepConfiguration.Url, LepConfiguration.ApiKey);
|
||||
var kozpontiResult = client.GetEloadasok(ClaimData.IntezmenyAzonosito, model.EvfolyamIdList);
|
||||
|
||||
if (kozpontiResult != null)
|
||||
{
|
||||
var groupedResult = kozpontiResult.GroupBy(x => (x.Id, x.IranyitoSzam, x.Telepules, x.KozteruletNev, x.KozteruletJellegNev, x.Hazszam, x.Kezdete, x.Vege, x.SzervezetNev, x.Nev, x.Leiras)).ToDictionary(x => x.Key, x => (EvfolyamIdList: x.Select(y => y.Evfolyam).ToList(), Ferohelyek: x.Select(y => (FerohelyMax: y.KiseroLetszam + y.TanuloLetszam, JelentkezokSzama: (y.KiseroJelentkezokSzama ?? 0) + (y.TanuloJelentkezokSzama ?? 0))).Distinct().Single(), EngedelyezettLetszamok: x.Select(y => (KiseroLetszam: y.KiseroLetszam, TanuloLetszam: y.TanuloLetszam)).Distinct().Single()));
|
||||
foreach (var item in groupedResult)
|
||||
{
|
||||
if (item.Value.EvfolyamIdList.Intersect(Core.Constants.LepEnabledEvfolyam).Any())
|
||||
{
|
||||
lEloadasok.Add(new EloadasokGridModel()
|
||||
{
|
||||
ID = $"{item.Key.Id}",
|
||||
Helyszin = $"{item.Key.IranyitoSzam} {item.Key.Telepules} {item.Key.KozteruletNev} {item.Key.KozteruletJellegNev} {item.Key.Hazszam}",
|
||||
Datum = item.Key.Kezdete.Date,
|
||||
EloadasKezdete = item.Key.Kezdete,
|
||||
EloadasVege = item.Key.Vege,
|
||||
SzervezetNev = item.Key.SzervezetNev,
|
||||
EloadasNev = item.Key.Nev,
|
||||
FerohelyFoglaltHelyek = $"{item.Value.Ferohelyek.FerohelyMax} / {item.Value.Ferohelyek.JelentkezokSzama}",
|
||||
EvFolyamIdList = string.Join(",", item.Value.EvfolyamIdList),
|
||||
KiseroLetszam = item.Value.EngedelyezettLetszamok.KiseroLetszam,
|
||||
TanuloLetszam = item.Value.EngedelyezettLetszamok.TanuloLetszam,
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var eHelper = new LepEloadasJegyzekHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var tanuloEloadas = eHelper.GetTanuloEloadasai(ClaimData.FelhasznaloId);
|
||||
List<EloadasokGridModel> removableList = new List<EloadasokGridModel>();
|
||||
|
||||
foreach (DataRow item in tanuloEloadas.Tables[0].Rows)
|
||||
{
|
||||
var removable = lEloadasok.Where(x => x.ID == (item.Field<int>("EloadasId")).ToString()).FirstOrDefault();
|
||||
removableList.Add(removable);
|
||||
}
|
||||
|
||||
lEloadasok.RemoveAll(item => !removableList.Contains(item));
|
||||
|
||||
foreach (var item in lEloadasok)
|
||||
{
|
||||
foreach (DataRow row in tanuloEloadas.Tables[0].Rows)
|
||||
{
|
||||
if (item.ID == (row.Field<int>("EloadasId")).ToString())
|
||||
{
|
||||
item.GondviseloElfogadas = row.Field<string>("GondviseloElfogadas");
|
||||
item.Megjelent = row.Field<string>("Megjelent_BNAME");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(model.EloadasNev))
|
||||
lEloadasok = lEloadasok.Where(x => x.EloadasNev.ToLower().Contains(model.EloadasNev.ToLower())).ToList();
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(model.Helyszin))
|
||||
lEloadasok = lEloadasok.Where(x => x.Helyszin.ToLower().Contains(model.Helyszin.ToLower())).ToList();
|
||||
|
||||
if (model.EvfolyamID.HasValue)
|
||||
lEloadasok = lEloadasok.Where(x => x.EvFolyamIdList.Contains(model.EvfolyamID.Value.ToString())).ToList();
|
||||
|
||||
if (model.IdoszakKezdete.HasValue || model.IdoszakVege.HasValue)
|
||||
{
|
||||
if (model.IdoszakKezdete.HasValue && model.IdoszakVege.HasValue)
|
||||
lEloadasok = lEloadasok.Where(x => x.Datum >= model.IdoszakKezdete && x.Datum <= model.IdoszakVege).ToList();
|
||||
|
||||
if (model.IdoszakKezdete.HasValue && !model.IdoszakVege.HasValue)
|
||||
lEloadasok = lEloadasok.Where(x => x.Datum >= model.IdoszakKezdete).ToList();
|
||||
|
||||
if (!model.IdoszakKezdete.HasValue && model.IdoszakVege.HasValue)
|
||||
lEloadasok = lEloadasok.Where(x => x.Datum <= model.IdoszakVege).ToList();
|
||||
}
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(model.SzervezetNev))
|
||||
lEloadasok = lEloadasok.Where(x => x.SzervezetNev.ToLower().Contains(model.SzervezetNev.ToLower())).ToList();
|
||||
|
||||
if (model.IdoszakKezdeteTime.HasValue)
|
||||
lEloadasok = lEloadasok.Where(x => x.EloadasKezdete.Value.TimeOfDay == model.IdoszakKezdeteTime.Value.TimeOfDay).ToList();
|
||||
|
||||
if (model.IdoszakVegeTime.HasValue)
|
||||
lEloadasok = lEloadasok.Where(x => x.EloadasVege.Value.TimeOfDay == model.IdoszakVegeTime.Value.TimeOfDay).ToList();
|
||||
|
||||
if (lEloadasok.Count > 0)
|
||||
{
|
||||
if (request.Sorts.Count == 1)
|
||||
{
|
||||
var sort = request.Sorts[0];
|
||||
if (sort.Member == "Datum" && sort.SortDirection == ListSortDirection.Ascending)
|
||||
{ LResult = lEloadasok.OrderBy(x => x.Datum).ToList(); }
|
||||
if (sort.Member == "Datum" && sort.SortDirection == ListSortDirection.Descending)
|
||||
{ LResult = lEloadasok.OrderByDescending(x => x.Datum).ToList(); }
|
||||
|
||||
if (sort.Member == "EloadasKezdete" && sort.SortDirection == ListSortDirection.Ascending)
|
||||
{ LResult = lEloadasok.OrderBy(x => x.EloadasKezdete).ToList(); }
|
||||
if (sort.Member == "EloadasKezdete" && sort.SortDirection == ListSortDirection.Descending)
|
||||
{ LResult = lEloadasok.OrderByDescending(x => x.EloadasKezdete).ToList(); }
|
||||
|
||||
if (sort.Member == "EloadasVege" && sort.SortDirection == ListSortDirection.Ascending)
|
||||
{ LResult = lEloadasok.OrderBy(x => x.EloadasVege).ToList(); }
|
||||
if (sort.Member == "EloadasVege" && sort.SortDirection == ListSortDirection.Descending)
|
||||
{ LResult = lEloadasok.OrderByDescending(x => x.EloadasVege).ToList(); }
|
||||
|
||||
if (sort.Member == "EloadasNev" && sort.SortDirection == ListSortDirection.Ascending)
|
||||
{ LResult = lEloadasok.OrderBy(x => x.EloadasNev).ToList(); }
|
||||
if (sort.Member == "EloadasNev" && sort.SortDirection == ListSortDirection.Descending)
|
||||
{ LResult = lEloadasok.OrderByDescending(x => x.EloadasNev).ToList(); }
|
||||
|
||||
if (sort.Member == "Helyszin" && sort.SortDirection == ListSortDirection.Ascending)
|
||||
{ LResult = lEloadasok.OrderBy(x => x.Helyszin).ToList(); }
|
||||
if (sort.Member == "Helyszin" && sort.SortDirection == ListSortDirection.Descending)
|
||||
{ LResult = lEloadasok.OrderByDescending(x => x.Helyszin).ToList(); }
|
||||
|
||||
if (sort.Member == "SzervezetNev" && sort.SortDirection == ListSortDirection.Ascending)
|
||||
{ LResult = lEloadasok.OrderBy(x => x.SzervezetNev).ToList(); }
|
||||
if (sort.Member == "SzervezetNev" && sort.SortDirection == ListSortDirection.Descending)
|
||||
{ LResult = lEloadasok.OrderByDescending(x => x.SzervezetNev).ToList(); }
|
||||
}
|
||||
else
|
||||
{
|
||||
LResult = lEloadasok.ToList();
|
||||
}
|
||||
|
||||
var cnt = LResult.Count;
|
||||
var result = LResult.ToDataSourceResult();
|
||||
result.Total = cnt;
|
||||
result.Data = GetPage(LResult, request.Page, request.PageSize, cnt);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
return new DataSourceResult();
|
||||
}
|
||||
catch
|
||||
{
|
||||
return new DataSourceResult();
|
||||
}
|
||||
}
|
||||
|
||||
List<EloadasokGridModel> GetPage(List<EloadasokGridModel> list, int page, int pageSize, int fullCnt)
|
||||
{
|
||||
page--;
|
||||
return list.Skip(page * pageSize).Take(pageSize).ToList();
|
||||
}
|
||||
|
||||
public DataSourceResult GetEloadasokDetailGrid(string data, [System.Web.Mvc.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<EloadasokDetailModel>(data);
|
||||
var id = int.Parse(model.ID);
|
||||
var helper = new LepEloadasJegyzekHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
var result = helper.GetEloadasJegyzekek(id, ClaimData.FelhasznaloId, model.IsMindenEvfolyamJog, model.Datum.Value, model.EvFolyamId, model.SzervezetNev, model.EloadasNev, model.EloadasKezdete.Value, model.EloadasVege.Value, model.Helyszin);
|
||||
|
||||
return result.ToDataSourceResult();
|
||||
}
|
||||
|
||||
public JsonResult<List<SelectListItem>> GetTanulokForEloadas(int? eloadasId = null, int? evfolyamId = null, string filter = null, string isMindenEvfolyamJog = null)
|
||||
{
|
||||
var list = new List<SelectListItem>();
|
||||
|
||||
if (eloadasId.HasValue && evfolyamId.HasValue)
|
||||
{
|
||||
var helper = new LepEloadasJegyzekHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
DataSet ds = helper.GetTanulokForEloadas(eloadasId.Value, evfolyamId.Value, filter, !string.IsNullOrWhiteSpace(isMindenEvfolyamJog) && SDAConvert.ToBoolean(isMindenEvfolyamJog) == false ? ClaimData.FelhasznaloId : (int?)null);
|
||||
|
||||
if (ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
|
||||
{
|
||||
list.AddRange(ds.Tables[0].AsEnumerable().Select(dataRow => new SelectListItem
|
||||
{
|
||||
Value = dataRow.Field<int>("TanuloId").ToString(),
|
||||
Text = dataRow.Field<string>("TanuloNev").ToString(),
|
||||
Selected = false
|
||||
}).ToList());
|
||||
}
|
||||
}
|
||||
|
||||
return Json(list);
|
||||
}
|
||||
|
||||
public JsonResult<List<SelectListItem>> GetTanulokForOsztaly(int? eloadasId = null, int? evfolyamId = null, string filter = null, string isMindenEvfolyamJog = null)
|
||||
{
|
||||
var list = new List<SelectListItem>();
|
||||
|
||||
if (eloadasId.HasValue && evfolyamId.HasValue && filter != null)
|
||||
{
|
||||
var helper = new LepEloadasJegyzekHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
DataSet ds = helper.GetTanulokForOsztaly(int.Parse(filter));
|
||||
|
||||
if (ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
|
||||
{
|
||||
list.AddRange(ds.Tables[0].AsEnumerable().Select(dataRow => new SelectListItem
|
||||
{
|
||||
Value = dataRow.Field<int>("TanuloId").ToString(),
|
||||
Text = dataRow.Field<string>("TanuloNyomtatasiNev").ToString(),
|
||||
Selected = false
|
||||
}).ToList());
|
||||
}
|
||||
}
|
||||
|
||||
return Json(list);
|
||||
}
|
||||
|
||||
public JsonResult<(List<SelectListItem>, List<SelectListItem>)> GetOsztalyokForEloadas(int? eloadasId = null, int? evfolyamId = null, string isMindenEvfolyamJog = null)
|
||||
{
|
||||
var list = new List<SelectListItem>();
|
||||
var jelentkezettOsztalyList = new List<SelectListItem>();
|
||||
|
||||
if (eloadasId.HasValue && evfolyamId.HasValue)
|
||||
{
|
||||
var helper = new LepEloadasJegyzekHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
DataSet ds = helper.GetOsztalyokForEloadas(eloadasId.Value, evfolyamId.Value, !string.IsNullOrWhiteSpace(isMindenEvfolyamJog) && SDAConvert.ToBoolean(isMindenEvfolyamJog) == false ? ClaimData.FelhasznaloId : (int?)null);
|
||||
DataSet jelentkezettOsztalyok = helper.GetJelentkeztetettOsztalyokIdForEloadas(eloadasId.Value, !string.IsNullOrWhiteSpace(isMindenEvfolyamJog) && SDAConvert.ToBoolean(isMindenEvfolyamJog) == false ? ClaimData.FelhasznaloId : (int?)null);
|
||||
|
||||
if (ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
|
||||
{
|
||||
list.AddRange(ds.Tables[0].AsEnumerable().Select(dataRow => new SelectListItem
|
||||
{
|
||||
Value = dataRow.Field<int>("Id").ToString(),
|
||||
Text = dataRow.Field<string>("Nev").ToString(),
|
||||
Selected = false
|
||||
}).ToList());
|
||||
}
|
||||
|
||||
if (jelentkezettOsztalyok.Tables.Count > 0 && jelentkezettOsztalyok.Tables[0].Rows.Count > 0)
|
||||
{
|
||||
var jelentkezettOsztalyokIdList = jelentkezettOsztalyok.Tables[0].AsEnumerable().Select(datarow => datarow.Field<int>("ID").ToString());
|
||||
jelentkezettOsztalyList.AddRange(list.Where(x => jelentkezettOsztalyokIdList.Contains(x.Value)).ToList());
|
||||
}
|
||||
}
|
||||
|
||||
return Json((list, jelentkezettOsztalyList));
|
||||
}
|
||||
|
||||
public JsonResult<List<SelectListItem>> GetEvfolyamokForEloadas(int? eloadasId = null, string evfolyamIdList = null, string isMindenEvfolyamJog = null)
|
||||
{
|
||||
var list = new List<SelectListItem>();
|
||||
|
||||
if (eloadasId.HasValue && !string.IsNullOrWhiteSpace(evfolyamIdList))
|
||||
{
|
||||
var evfolyamIds = evfolyamIdList.Split(",".ToCharArray());
|
||||
list.AddRange(evfolyamIds.Select(x => new SelectListItem { Value = x, Text = ((EvfolyamTipusEnum)int.Parse(x)).GetDisplayName(ClaimData.SelectedTanevID.Value) }));
|
||||
}
|
||||
|
||||
return Json(list);
|
||||
}
|
||||
|
||||
[System.Web.Http.HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveTanulokForEloadas(EloadasTanuloSaveModel model)
|
||||
{
|
||||
var id = int.Parse(model.eloadasId);
|
||||
var helper = new LepEloadasJegyzekHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var dbSzamossag = helper.GetEloadasSzamok(id);
|
||||
var dbTanuloSzam = dbSzamossag.Tables[0].Rows[0].Field<int>("TanuloSzam");
|
||||
var tanuloSzam = model.tanuIds != null ? model.tanuIds.Length + dbTanuloSzam : 0 + dbTanuloSzam;
|
||||
var kiseroSzam = model.kiseroSzam;
|
||||
|
||||
string errors = string.Empty;
|
||||
if (model.TanuloLetszamFennmarado.HasValue && (model.tanuIds?.Length ?? 0) > model.TanuloLetszamFennmarado.Value)
|
||||
{
|
||||
errors += string.Format("{0}<br/>", EloadasokResource.AFoglaltHelyekSzamaMeghaladjaATanuloKeretszamot);
|
||||
}
|
||||
|
||||
if (model.kiseroSzam > model.KiseroLetszam)
|
||||
{
|
||||
errors += EloadasokResource.AFoglaltHelyekSzamaMeghaladjaAKiseroKeretszamot;
|
||||
}
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(errors))
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, errors);
|
||||
}
|
||||
|
||||
var client = new LepClient(LepConfiguration.Url, LepConfiguration.ApiKey);
|
||||
var kozpontiResult = client.PostEloadasokTanuloszamossag(ClaimData.IntezmenyAzonosito, id, tanuloSzam, kiseroSzam);
|
||||
|
||||
if (kozpontiResult.Sikeres)
|
||||
{
|
||||
helper.SaveTanulokEloadas(id, model.tanuIds, model.kiseroSzam);
|
||||
|
||||
var ds = helper.GetTanulokForEloadasWithMegjelent(id, model.idopont);
|
||||
try
|
||||
{
|
||||
client.PostEloadasokTanulojelenlet(ClaimData.IntezmenyAzonosito, id, ds);
|
||||
}
|
||||
catch { }
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, kozpontiResult.StatuszUzenet);
|
||||
}
|
||||
}
|
||||
|
||||
[System.Web.Http.HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteTanulokForEloadasByOsztaly(DeleteModel model)
|
||||
{
|
||||
var id = int.Parse(model.eloadasId);
|
||||
var helper = new LepEloadasJegyzekHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
var row = helper.GetEloadasSzamok(id).Tables[0].Rows[0];
|
||||
var dbTanuloSzam = row.Field<int>("TanuloSzam");
|
||||
var dbKiseroSzam = row.Field<int>("KiseroSzam");
|
||||
int torlendoTanuloSzam = helper.GetTorlendoTanuloSzam(id, model.osztalyId);
|
||||
int kiseroSzam = (dbTanuloSzam - torlendoTanuloSzam) == 0 ? 0 : dbKiseroSzam;
|
||||
|
||||
var client = new LepClient(LepConfiguration.Url, LepConfiguration.ApiKey);
|
||||
var kozpontiResult = client.PostEloadasokTanuloszamossag(ClaimData.IntezmenyAzonosito, id, dbTanuloSzam - torlendoTanuloSzam, dbKiseroSzam);
|
||||
|
||||
if (kozpontiResult.Sikeres)
|
||||
{
|
||||
helper.DeleteTanulokForEloadasByOsztaly(id, model.osztalyId);
|
||||
if (kiseroSzam == 0)
|
||||
{
|
||||
helper.UpdateEloadasKiseroSzam(id, kiseroSzam);
|
||||
}
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, kozpontiResult.StatuszUzenet);
|
||||
}
|
||||
}
|
||||
|
||||
[System.Web.Http.HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveGondviseloEngedelyezes(GVEngedelyModel model)
|
||||
{
|
||||
var id = int.Parse(model.eloadasId);
|
||||
var helper = new LepEloadasJegyzekHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
helper.SaveGondviseloEngedelyezes(id, model.tanuloId, ClaimData.GondviseloId.Value, model.engedelyezve == true ? "T" : model.engedelyezve == false ? "F" : "");
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
[System.Web.Http.HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveTanulokMegjelent(List<MegjelentDataModel> listModel)
|
||||
{
|
||||
var helper = new LepEloadasJegyzekHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
foreach (var item in listModel)
|
||||
{
|
||||
if (item.Id.HasValue)
|
||||
{
|
||||
helper.SaveTanulokMegjelent(item.Id.Value, item.Megjelent);
|
||||
}
|
||||
}
|
||||
|
||||
var ds = helper.GetTanulokForEloadasWithMegjelent(listModel[0].EloadasId, listModel[0].EloadasDatum);
|
||||
var client = new LepClient(LepConfiguration.Url, LepConfiguration.ApiKey);
|
||||
try
|
||||
{
|
||||
var kozpontiResult = client.PostEloadasokTanulojelenlet(ClaimData.IntezmenyAzonosito, listModel[0].EloadasId, ds);
|
||||
if (!kozpontiResult.Sikeres)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, kozpontiResult.StatuszUzenet);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw;
|
||||
}
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
[System.Web.Http.HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public string DeleteTanulokForEloadas(int Id, string eloadasId, string szervNev, string eloadasNev, DateTime idopont, DateTime kezdete, DateTime vege)
|
||||
{
|
||||
var id = int.Parse(eloadasId);
|
||||
var helper = new LepEloadasJegyzekHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var dataRow = helper.GetEloadasSzamok(id).Tables[0].Rows[0];
|
||||
int tanuloSzam = dataRow.Field<int>("TanuloSzam") - 1;
|
||||
int kiseroSzam = tanuloSzam == 0 ? 0 : dataRow.Field<int>("KiseroSzam");
|
||||
|
||||
var client = new LepClient(LepConfiguration.Url, LepConfiguration.ApiKey);
|
||||
var kozpontiResult = client.PostEloadasokTanuloszamossag(ClaimData.IntezmenyAzonosito, id, tanuloSzam, kiseroSzam);
|
||||
|
||||
if (kozpontiResult.Sikeres)
|
||||
{
|
||||
helper.DeleteTanuloEloadas(Id);
|
||||
if (kiseroSzam == 0)
|
||||
{
|
||||
helper.UpdateEloadasKiseroSzam(id, kiseroSzam);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, kozpontiResult.StatuszUzenet);
|
||||
}
|
||||
|
||||
return eloadasId;
|
||||
}
|
||||
|
||||
private void SendEmailLEPJelentkezes(int eloadasId, string[] tanuloIds, int dbTanuloSzam, string szervNev, string eloadasNev, string idopont, string kezdete, string vege)
|
||||
{
|
||||
var helper = new LepEloadasJegyzekHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var emailList = helper.GetEloadasJelentkezesEmailData(eloadasId);
|
||||
|
||||
foreach (DataRow item in emailList.Tables[0].Rows)
|
||||
{
|
||||
if ((tanuloIds != null && tanuloIds.Length > 0 && tanuloIds.Contains(item.Field<int>("TanuloId").ToString())) || dbTanuloSzam == 0)
|
||||
{
|
||||
var uzenetHelper = new UzenetekHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
var emailMsg = string.Format(EmailResource.LEPJelentkezesContent,
|
||||
item.Field<string>("Nev"),
|
||||
item.Field<string>("TanuloNev"),
|
||||
item.Field<string>("TanuloOsztalyNev"),
|
||||
item.Field<string>("IntezmenyNev"),
|
||||
szervNev,
|
||||
eloadasNev,
|
||||
idopont,
|
||||
kezdete,
|
||||
vege,
|
||||
item.Field<string>("IntezmenyEmail")
|
||||
);
|
||||
//uzenetHelper.EmailKuldes(emailMsg, EmailResource.LEPJelentkezesSubject, item.Field<string>("EmailCim"), ClaimData.IntezmenyAzonosito);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void SendEmailLEPTorles(int eloadasJegyzesId, string szervNev, string eloadasNev, string idopont, string kezdete, string vege)
|
||||
{
|
||||
var helper = new LepEloadasJegyzekHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var emailList = helper.GetEloadasLemondasEmailData(eloadasJegyzesId);
|
||||
|
||||
foreach (DataRow item in emailList.Tables[0].Rows)
|
||||
{
|
||||
var uzenetHelper = new UzenetekHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
var emailMsg = string.Format(EmailResource.LEPTorlesContent,
|
||||
item.Field<string>("Nev"),
|
||||
item.Field<string>("TanuloNev"),
|
||||
item.Field<string>("TanuloOsztalyNev"),
|
||||
item.Field<string>("IntezmenyNev"),
|
||||
szervNev,
|
||||
eloadasNev,
|
||||
idopont,
|
||||
kezdete,
|
||||
vege,
|
||||
item.Field<string>("IntezmenyEmail")
|
||||
);
|
||||
//uzenetHelper.EmailKuldes(emailMsg, EmailResource.LEPTorlesSubject, item.Field<string>("EmailCim"), ClaimData.IntezmenyAzonosito);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,71 @@
|
|||
using System.Data;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
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.Web.Areas.LEPModul.Models;
|
||||
using Kreta.Web.Areas.Nyomtatvanyok.Logic;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.LEPModul.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsSzirIntezmeny.ClaimValue)]
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.IsLEPKezelo.ClaimValue)]
|
||||
public class EloadasokKezeleseController : Controller
|
||||
{
|
||||
public ActionResult Index()
|
||||
{
|
||||
var connectionType = ConnectionTypeExtensions.GetSessionConnectionType();
|
||||
TanevCO tanevCo;
|
||||
var tanev = new TanevHelper(connectionType);
|
||||
tanevCo = tanev.GetTanevInfo();
|
||||
|
||||
int tanevSorszam = int.MinValue;
|
||||
if (tanevCo != null && tanevCo.Sorszam.IsEntityId())
|
||||
{
|
||||
tanevSorszam = tanevCo.Sorszam;
|
||||
}
|
||||
|
||||
bool isLepAlkalmazott = new AlkalmazottHelper(connectionType).IsLEPKezelo();
|
||||
var isOsztfoCsoportvezetoLEPKezeloRendszerBeallitas = new SystemSettingsHelper(connectionType).GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Lazar_Ervin_Program_kezelese);
|
||||
bool isLepOsztfoCsoportVezeto = (ClaimData.FelhasznaloSzerepCsomagok.Contains(KretaClaimPackages.Osztalyfonok.ClaimValue) || ClaimData.FelhasznaloSzerepCsomagok.Contains(KretaClaimPackages.CsoportVezeto.ClaimValue)) && isOsztfoCsoportvezetoLEPKezeloRendszerBeallitas;
|
||||
bool fullLepJogAdminkent = ClaimData.FelhasznaloSzerepCsomagok.Contains(KretaClaimPackages.Adminisztrator.ClaimValue)
|
||||
|| ClaimData.FelhasznaloSzerepCsomagok.Contains(KretaClaimPackages.Szuperadmin.ClaimValue)
|
||||
|| ClaimData.FelhasznaloSzerepCsomagok.Contains(KretaClaimPackages.SzuperOsztalyfonok.ClaimValue);
|
||||
bool isMindenEvfolyamJog = isLepAlkalmazott || fullLepJogAdminkent;
|
||||
|
||||
EloadasokSearchModel model = new EloadasokSearchModel();
|
||||
model.IsMindenEvfolyamJog = isMindenEvfolyamJog;
|
||||
model.TanevSorszam = tanevSorszam;
|
||||
|
||||
if (fullLepJogAdminkent || isLepAlkalmazott || isLepOsztfoCsoportVezeto)
|
||||
{
|
||||
return View(model);
|
||||
}
|
||||
|
||||
return Redirect(Url.Content(CommonExtensions.GetDefaultPage()));
|
||||
}
|
||||
|
||||
public ActionResult GetEloadasokDetailPartial(EloadasokDetailModel model, string isMindenEvfolyamJog)
|
||||
{
|
||||
var helper = new LepEloadasJegyzekHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var id = int.Parse(model.ID);
|
||||
|
||||
model.IsMindenEvfolyamJog = SDAConvert.ToBoolean(isMindenEvfolyamJog);
|
||||
model.KiseroSzam = helper.GetEloadasSzamok(id).Tables[0].Rows[0].Field<int>("KiseroSzam");
|
||||
|
||||
return PartialView("EloadasokDetailPartial", model);
|
||||
}
|
||||
|
||||
public ActionResult GetLepGondviseloEngedelyezesZip(string data)
|
||||
{
|
||||
return NyomtatvanyokLogic.GetLepGondviseloEngedelyezesZip(data);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.LEPModul.Models;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.LEPModul.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Ellenorzo.ClaimValue)]
|
||||
public class GondviseloLEPController : Controller
|
||||
{
|
||||
public ActionResult Index()
|
||||
{
|
||||
var model = new EloadasokSearchModel() { };
|
||||
model.GondviseloElfogadasList = new System.Collections.Generic.List<SelectListItem>();
|
||||
model.GondviseloElfogadasList.Add(new SelectListItem() { Text = EloadasokResource.Engedelyezem, Value = "T" });
|
||||
model.GondviseloElfogadasList.Add(new SelectListItem() { Text = EloadasokResource.Elutasitom, Value = "F" });
|
||||
|
||||
return View(model);
|
||||
}
|
||||
}
|
||||
}
|
24
KretaWeb/Areas/LEPModul/LEPModulAreaRegistration.cs
Normal file
24
KretaWeb/Areas/LEPModul/LEPModulAreaRegistration.cs
Normal file
|
@ -0,0 +1,24 @@
|
|||
using System.Web.Mvc;
|
||||
|
||||
namespace Kreta.Web.Areas.LEPModul
|
||||
{
|
||||
public class LEPModulAreaRegistration : AreaRegistration
|
||||
{
|
||||
public override string AreaName
|
||||
{
|
||||
get
|
||||
{
|
||||
return "LEPModul";
|
||||
}
|
||||
}
|
||||
|
||||
public override void RegisterArea(AreaRegistrationContext context)
|
||||
{
|
||||
context.MapRoute(
|
||||
"LEPModul_default",
|
||||
"LEPModul/{controller}/{action}/{id}",
|
||||
new { action = "Index", id = UrlParameter.Optional }
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
8
KretaWeb/Areas/LEPModul/Models/DeleteModel.cs
Normal file
8
KretaWeb/Areas/LEPModul/Models/DeleteModel.cs
Normal file
|
@ -0,0 +1,8 @@
|
|||
namespace Kreta.Web.Areas.LEPModul.Models
|
||||
{
|
||||
public class DeleteModel
|
||||
{
|
||||
public string eloadasId { get; set; }
|
||||
public int osztalyId { get; set; }
|
||||
}
|
||||
}
|
22
KretaWeb/Areas/LEPModul/Models/EloadasTanuloSaveModel.cs
Normal file
22
KretaWeb/Areas/LEPModul/Models/EloadasTanuloSaveModel.cs
Normal file
|
@ -0,0 +1,22 @@
|
|||
using System;
|
||||
|
||||
namespace Kreta.Web.Areas.LEPModul.Models
|
||||
{
|
||||
public class EloadasTanuloSaveModel
|
||||
{
|
||||
public string eloadasId { get; set; }
|
||||
public int kiseroSzam { get; set; }
|
||||
public string[] tanuIds { get; set; }
|
||||
public string[] osztalyIds { get; set; }
|
||||
public string szervNev { get; set; }
|
||||
public string eloadasNev { get; set; }
|
||||
public DateTime idopont { get; set; }
|
||||
public DateTime kezdete { get; set; }
|
||||
public DateTime vege { get; set; }
|
||||
public string FerohelyFoglaltHelyek { get; set; }
|
||||
public int TanuloLetszam { get; set; }
|
||||
public int KiseroLetszam { get; set; }
|
||||
public int? TanuloLetszamFennmarado { get; set; }
|
||||
public int? KiseroLetszamFennmarado { get; set; }
|
||||
}
|
||||
}
|
44
KretaWeb/Areas/LEPModul/Models/EloadasokDetailGridModel.cs
Normal file
44
KretaWeb/Areas/LEPModul/Models/EloadasokDetailGridModel.cs
Normal file
|
@ -0,0 +1,44 @@
|
|||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.Web.Areas.LEPModul.Models
|
||||
{
|
||||
public class EloadasokDetailGridModel : IKretaIdentity
|
||||
{
|
||||
public string ID { get; set; }
|
||||
|
||||
[Display(Name = nameof(OsztalyCsoportResource.TanuloNeve), ResourceType = typeof(OsztalyCsoportResource))]
|
||||
public string TanuloNev { get; set; }
|
||||
|
||||
[Display(Name = nameof(OsztalyCsoportResource.Osztaly), ResourceType = typeof(OsztalyCsoportResource))]
|
||||
public string OsztalyCsoportNev { get; set; }
|
||||
|
||||
public int TanuloId { get; set; }
|
||||
|
||||
public int OsztalyCsoportId { get; set; }
|
||||
|
||||
public int EvfolyamId { get; set; }
|
||||
|
||||
public string Megjelent { get; set; }
|
||||
|
||||
public DateTime? Datum { get; set; }
|
||||
|
||||
public string SzervezetNev { get; set; }
|
||||
|
||||
public string EloadasNev { get; set; }
|
||||
|
||||
[Display(Name = nameof(TanuloResource.OktatasiAzonosito), ResourceType = typeof(TanuloResource))]
|
||||
public string TanuloOktAzon { get; set; }
|
||||
|
||||
[Display(Name = nameof(CommonResource.OMAzonosito), ResourceType = typeof(CommonResource))]
|
||||
public string IntezmenyAzon { get; set; }
|
||||
|
||||
[Display(Name = nameof(CommonResource.IntezmenyHivatalosNev), ResourceType = typeof(CommonResource))]
|
||||
public string IntezmenyNev { get; set; }
|
||||
|
||||
[Display(Name = nameof(EloadasokResource.GondviseloElfogadas), ResourceType = typeof(EloadasokResource))]
|
||||
public string GondviseloElfogadas { get; set; }
|
||||
}
|
||||
}
|
46
KretaWeb/Areas/LEPModul/Models/EloadasokDetailModel.cs
Normal file
46
KretaWeb/Areas/LEPModul/Models/EloadasokDetailModel.cs
Normal file
|
@ -0,0 +1,46 @@
|
|||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.Web.Areas.LEPModul.Models
|
||||
{
|
||||
public class EloadasokDetailModel
|
||||
{
|
||||
public string ID { get; set; }
|
||||
|
||||
public bool IsMindenEvfolyamJog { get; set; }
|
||||
|
||||
public int EvFolyamId { get; set; }
|
||||
|
||||
public int? KiseroSzam { get; set; }
|
||||
|
||||
public DateTime? Datum { get; set; }
|
||||
|
||||
public DateTime? EloadasKezdete { get; set; }
|
||||
|
||||
public DateTime? EloadasVege { get; set; }
|
||||
|
||||
public string SzervezetNev { get; set; }
|
||||
|
||||
public string EloadasNev { get; set; }
|
||||
|
||||
public string Helyszin { get; set; }
|
||||
|
||||
[Display(Name = nameof(EloadasokResource.TanulokListaja), ResourceType = typeof(EloadasokResource))]
|
||||
public string[] TanuloIds { get; set; }
|
||||
|
||||
public string EvfolyamIdList { get; set; }
|
||||
|
||||
public string FerohelyFoglaltHelyek { get; set; }
|
||||
|
||||
public int TanuloLetszam { get; set; }
|
||||
|
||||
public int KiseroLetszam { get; set; }
|
||||
|
||||
public int? TanuloLetszamFennmarado { get; set; }
|
||||
|
||||
public int? KiseroLetszamFennmarado { get; set; }
|
||||
|
||||
public bool IsToroltJelentkezes { get; set; }
|
||||
}
|
||||
}
|
53
KretaWeb/Areas/LEPModul/Models/EloadasokGridModel.cs
Normal file
53
KretaWeb/Areas/LEPModul/Models/EloadasokGridModel.cs
Normal file
|
@ -0,0 +1,53 @@
|
|||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.Web.Areas.LEPModul.Models
|
||||
{
|
||||
public class EloadasokGridModel : IKretaIdentity
|
||||
{
|
||||
public string ID { get; set; }
|
||||
|
||||
[Display(Name = nameof(EloadasokResource.Helyszin), ResourceType = typeof(EloadasokResource))]
|
||||
public string Helyszin { get; set; }
|
||||
|
||||
[Display(Name = nameof(EloadasokResource.Datum), ResourceType = typeof(EloadasokResource))]
|
||||
public DateTime? Datum { get; set; }
|
||||
|
||||
[Display(Name = nameof(EloadasokResource.EloadasKezdete), ResourceType = typeof(EloadasokResource))]
|
||||
public DateTime? EloadasKezdete { get; set; }
|
||||
|
||||
[Display(Name = nameof(EloadasokResource.EloadasVege), ResourceType = typeof(EloadasokResource))]
|
||||
public DateTime? EloadasVege { get; set; }
|
||||
|
||||
[Display(Name = nameof(EloadasokResource.SzervezetNev), ResourceType = typeof(EloadasokResource))]
|
||||
public string SzervezetNev { get; set; }
|
||||
|
||||
[Display(Name = nameof(EloadasokResource.EloadasNev), ResourceType = typeof(EloadasokResource))]
|
||||
public string EloadasNev { get; set; }
|
||||
|
||||
[Display(Name = nameof(EloadasokResource.FerohelyFoglaltHelyek), ResourceType = typeof(EloadasokResource))]
|
||||
public string FerohelyFoglaltHelyek { get; set; }
|
||||
|
||||
[Display(Name = nameof(EloadasokResource.EvFolyam), ResourceType = typeof(EloadasokResource))]
|
||||
public string EvFolyamIdList { get; set; }
|
||||
|
||||
public int EvFolyamId { get; set; }
|
||||
|
||||
[Display(Name = nameof(EloadasokResource.JelentkezesElfogadas), ResourceType = typeof(EloadasokResource))]
|
||||
public string GondviseloElfogadas { get; set; }
|
||||
|
||||
[Display(Name = nameof(EloadasokResource.Leiras), ResourceType = typeof(EloadasokResource))]
|
||||
public string Leiras { get; set; }
|
||||
|
||||
[Display(Name = nameof(EloadasokResource.Megjelent), ResourceType = typeof(EloadasokResource))]
|
||||
public string Megjelent { get; set; }
|
||||
|
||||
public int KiseroLetszam { get; set; }
|
||||
public int TanuloLetszam { get; set; }
|
||||
public int? TanuloLetszamFennmarado { get; set; }
|
||||
public int? KiseroLetszamFennmarado { get; set; }
|
||||
public bool IsToroltJelentkezes { get; set; }
|
||||
}
|
||||
}
|
44
KretaWeb/Areas/LEPModul/Models/EloadasokSearchModel.cs
Normal file
44
KretaWeb/Areas/LEPModul/Models/EloadasokSearchModel.cs
Normal file
|
@ -0,0 +1,44 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.Web.Areas.LEPModul.Models
|
||||
{
|
||||
public class EloadasokSearchModel
|
||||
{
|
||||
[Display(Name = nameof(EloadasokResource.Helyszin), ResourceType = typeof(EloadasokResource))]
|
||||
public string Helyszin { get; set; }
|
||||
|
||||
[Display(Name = nameof(EloadasokResource.EloadasIdoszak), ResourceType = typeof(EloadasokResource))]
|
||||
public DateTime? IdoszakKezdete { get; set; }
|
||||
|
||||
public DateTime? IdoszakVege { get; set; }
|
||||
|
||||
[Display(Name = nameof(EloadasokResource.EloadasNev), ResourceType = typeof(EloadasokResource))]
|
||||
public string EloadasNev { get; set; }
|
||||
|
||||
[Display(Name = nameof(EloadasokResource.EvFolyam), ResourceType = typeof(EloadasokResource))]
|
||||
public int? EvfolyamID { get; set; }
|
||||
|
||||
[Display(Name = nameof(EloadasokResource.SzervezetNev), ResourceType = typeof(EloadasokResource))]
|
||||
public string SzervezetNev { get; set; }
|
||||
|
||||
[Display(Name = nameof(EloadasokResource.EloadasKezdete), ResourceType = typeof(EloadasokResource))]
|
||||
public DateTime? IdoszakKezdeteTime { get; set; }
|
||||
|
||||
[Display(Name = nameof(EloadasokResource.EloadasVege), ResourceType = typeof(EloadasokResource))]
|
||||
public DateTime? IdoszakVegeTime { get; set; }
|
||||
|
||||
public bool IsMindenEvfolyamJog { get; set; }
|
||||
|
||||
public List<int> EvfolyamIdList { get; set; }
|
||||
|
||||
public int TanevSorszam { get; set; }
|
||||
|
||||
public string IntezmenyAzonosito { get; set; }
|
||||
|
||||
public List<SelectListItem> GondviseloElfogadasList { get; set; }
|
||||
}
|
||||
}
|
9
KretaWeb/Areas/LEPModul/Models/GVEngedelyModel.cs
Normal file
9
KretaWeb/Areas/LEPModul/Models/GVEngedelyModel.cs
Normal file
|
@ -0,0 +1,9 @@
|
|||
namespace Kreta.Web.Areas.LEPModul.Models
|
||||
{
|
||||
public class GVEngedelyModel
|
||||
{
|
||||
public string eloadasId { get; set; }
|
||||
public int tanuloId { get; set; }
|
||||
public bool? engedelyezve { get; set; }
|
||||
}
|
||||
}
|
12
KretaWeb/Areas/LEPModul/Models/MegjelentDataModel.cs
Normal file
12
KretaWeb/Areas/LEPModul/Models/MegjelentDataModel.cs
Normal file
|
@ -0,0 +1,12 @@
|
|||
using System;
|
||||
|
||||
namespace Kreta.Web.Areas.LEPModul.Models
|
||||
{
|
||||
public class MegjelentDataModel
|
||||
{
|
||||
public int EloadasId { get; set; }
|
||||
public DateTime EloadasDatum { get; set; }
|
||||
public int? Id { get; set; }
|
||||
public string Megjelent { get; set; }
|
||||
}
|
||||
}
|
236
KretaWeb/Areas/LEPModul/Views/EloadasokKezelese/Index.cshtml
Normal file
236
KretaWeb/Areas/LEPModul/Views/EloadasokKezelese/Index.cshtml
Normal file
|
@ -0,0 +1,236 @@
|
|||
@using Kreta.BusinessLogic.Classes
|
||||
@using Kreta.Web.Helpers.Grid
|
||||
@using Kreta.Web.Areas.LEPModul.Models
|
||||
@using Kreta.Resources
|
||||
@using Kreta.Enums.ManualEnums
|
||||
@model EloadasokSearchModel
|
||||
|
||||
@section AddSearchPanel {
|
||||
@using (Html.SearchPanelSideBar("searchForm", "EloadasokGrid"))
|
||||
{
|
||||
@Html.KretaRangeDatePickerSideBar(x => x.IdoszakKezdete, x => x.IdoszakVege)
|
||||
@Html.KretaComboBoxFor(x => x.EvfolyamID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = @Model.IsMindenEvfolyamJog ? "GetEvfolyamListLEP" : "GetEvfolyamListByFelhasznalo" }), "Text", "Value").RenderSearchPanelSideBar()
|
||||
@Html.KretaTextBoxFor(x => x.EloadasNev).RenderSearchPanelSideBar()
|
||||
@Html.KretaTextBoxFor(x => x.SzervezetNev).RenderSearchPanelSideBar()
|
||||
@Html.KretaTextBoxFor(x => x.Helyszin).RenderSearchPanelSideBar()
|
||||
@Html.KretaTimePickerFor(x => x.IdoszakKezdeteTime).RenderSearchPanelSideBar()
|
||||
@Html.KretaTimePickerFor(x => x.IdoszakVegeTime).RenderSearchPanelSideBar()
|
||||
@Html.HiddenFor(x => x.IsMindenEvfolyamJog)
|
||||
@Html.HiddenFor(x => x.EvfolyamIdList)
|
||||
@Html.HiddenFor(x => x.TanevSorszam)
|
||||
}
|
||||
}
|
||||
|
||||
@{
|
||||
var rowFunctionList = new List<RowFunction>
|
||||
{
|
||||
new RowFunction { Name = "Leiras", ClientAction= "LEPHelper.OpenEloadasLeiras", IconEnum = GridRowFunctionIconEnum.Adatok }
|
||||
};
|
||||
}
|
||||
|
||||
<div>
|
||||
@(
|
||||
Html.KretaGrid<EloadasokGridModel>
|
||||
(
|
||||
"EloadasokGrid",
|
||||
new GridApiUrl("EloadasokKezeleseApi", "GetEloadasokGrid", new Dictionary<string, string> { }),
|
||||
dataParameterFunction: "searchForm",
|
||||
sort: sort => sort.Add(m => m.Datum).Descending(),
|
||||
clientTemplate: "detailGrid-template",
|
||||
clientTemplateUrl: @Url.Action("GetEloadasokDetailPartial", "EloadasokKezelese", new { area = "LEPModul", isMindenEvfolyamJog = Model.IsMindenEvfolyamJog.ToString() }),
|
||||
clientTemplateWholeDataRow: true,
|
||||
allowFilterable: false,
|
||||
allowPaging: true,
|
||||
allowSorting: true
|
||||
)
|
||||
.Columns(columns =>
|
||||
{
|
||||
columns.Bound(m => m.Datum).Width("8%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
|
||||
columns.Bound(m => m.EloadasKezdete).Width("5%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortTime]);
|
||||
columns.Bound(m => m.EloadasVege).Width("5%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortTime]);
|
||||
columns.Bound(m => m.EloadasNev);
|
||||
columns.Bound(m => m.SzervezetNev);
|
||||
columns.Bound(m => m.Helyszin).Width("20%");
|
||||
columns.Bound(m => m.EvFolyamIdList).Width("5%").Sortable(false).Hidden();
|
||||
columns.Bound(m => m.FerohelyFoglaltHelyek).Width("10%").Sortable(false).Hidden();
|
||||
})
|
||||
.ConditionalRowFunction(Html, rowFunctionList, "LEPGridHelper.setRowEditing")
|
||||
)
|
||||
</div>
|
||||
|
||||
@Html.KretaGridTemplate("detailGrid-template")
|
||||
|
||||
<div style="display: none !important;">
|
||||
@using (Html.KretaForm("GetLepGondviseloEngedelyezesZip", "EloadasokKezelese", FormMethod.Post, "dokuSaveForm"))
|
||||
{
|
||||
@Html.Hidden("data");
|
||||
<button id="downloadBtn" type="submit" data-role="button" class="k-button" role="button" aria-disabled="false" tabindex="0">Letöltés</button>
|
||||
}
|
||||
</div>
|
||||
|
||||
<script>
|
||||
var LEPGridHelper = (function () {
|
||||
var helper = function () { };
|
||||
helper.setRowEditing = function (rowData) { if (rowData.Leiras != null) return true; }
|
||||
return helper;
|
||||
})();
|
||||
</script>
|
||||
|
||||
<script type="text/javascript">
|
||||
var LEPHelper = (function () {
|
||||
var lepHelper = function () { };
|
||||
|
||||
lepHelper.setRowDeleting = function (rowData) {
|
||||
var result = false
|
||||
if (rowData.isErasable == 'T') result = true;
|
||||
return result;
|
||||
}
|
||||
|
||||
lepHelper.DeleteTanulokForEloadas = function (rowData) {
|
||||
var jsonData = {
|
||||
Id: rowData.ID,
|
||||
eloadasId: rowData.EloadasId,
|
||||
szervNev: rowData.szervezetNev,
|
||||
eloadasNev: rowData.eloadasNev,
|
||||
idopont: rowData.datum,
|
||||
kezdete: rowData.kezdete,
|
||||
vege: rowData.vege
|
||||
};
|
||||
|
||||
AjaxHelper.DoPostQuery("@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "EloadasokKezeleseApi", action = "DeleteTanulokForEloadas" })", null, jsonData, saveResponseOk);
|
||||
}
|
||||
|
||||
lepHelper.JelenletMentes = function (data) {
|
||||
if (data != null && data.length > 0) {
|
||||
var postJsonData = [];
|
||||
var gridData = KretaGridHelper.getModifiedRows("EloadasokDetailGrid_" + data[0].EloadasId);
|
||||
$.each(gridData, function (i, v) {
|
||||
if (v.dirty) {
|
||||
postJsonData.push({ Id: v.ID, Megjelent: v.ki_Megjelent, EloadasDatum: v.datum, EloadasId: v.EloadasId });
|
||||
}
|
||||
});
|
||||
|
||||
if (postJsonData.length == 0) {
|
||||
postJsonData.push({ Id: null, Megjelent: null, EloadasDatum: data[0].datum, EloadasId: data[0].EloadasId });
|
||||
}
|
||||
|
||||
AjaxHelper.DoPost("@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "EloadasokKezeleseApi", action = "SaveTanulokMegjelent" })", postJsonData, feedBackOk, feedBackError);
|
||||
}
|
||||
}
|
||||
|
||||
function feedBackOk(data) {
|
||||
KretaWindowHelper.feedbackWindow("@EloadasokResource.SikeresMuvelet", "@EloadasokResource.AResztvevokMenteseSikeresenMegtortent", "success");
|
||||
|
||||
setTimeout(function () {
|
||||
$.each($('[id^=' + data + ']'), function (i, v) {
|
||||
if (v.id.length == 26 && v.id != data) {
|
||||
KretaGridHelper.refreshGrid(v.id);
|
||||
}
|
||||
});
|
||||
}, 1000);
|
||||
}
|
||||
|
||||
function feedBackError(data) {
|
||||
KretaWindowHelper.feedbackWindow("@CommonResource.Hiba", data.responseJSON.Message, true);
|
||||
}
|
||||
|
||||
lepHelper.JelenletiIv = function (data) {
|
||||
if (data[0] != undefined) {
|
||||
var obj = $("#EloadasokDetailGrid_" + data[0].EloadasId);
|
||||
KretaGridHelper.exportGrid(obj[0], "JelenletiIv_" + data[0].datum.substring(0, 10), 'undefined', 'undefined', 'undefined', true);
|
||||
}
|
||||
}
|
||||
|
||||
lepHelper.Export = function (data) {
|
||||
if (data[0] != undefined) {
|
||||
var exportDiv = $("<div>", { 'id': "exportDiv" });
|
||||
var columns = ["Előadás_Időpontja", "Szervezet_neve", "Előadás_neve", "Tanuló_neve", "Tanuló_osztálya"];
|
||||
|
||||
if (kendo.parseDate(data[0].datum) > kendo.parseDate("@DateTime.Now")) {
|
||||
columns.push("Megjelent");
|
||||
}
|
||||
|
||||
var exportGrid = exportDiv.kendoGrid({ columns: columns });
|
||||
var dataSource = new kendo.data.DataSource();
|
||||
|
||||
var obj = $("#EloadasokDetailGrid_" + data[0].EloadasId);
|
||||
var dataSource2 = $("#" + obj[0].attributes.id.value).data("kendoGrid").dataSource;
|
||||
|
||||
$.each(dataSource2.data(), function (i, v) {
|
||||
var megj = "";
|
||||
if (kendo.parseDate(data[0].datum) > kendo.parseDate("@DateTime.Now")) {
|
||||
if (v.Megjelent == 'T') { megj = "Igen" } else { megj = "Nem" }
|
||||
}
|
||||
|
||||
dataSource.add({
|
||||
"Előadás_Időpontja": v.datum.replace("T00:00:00","").replace("-",".").replace("-",".") + ".",
|
||||
"Szervezet_neve": v.szervezetNev,
|
||||
"Előadás_neve": v.eloadasNev,
|
||||
"Tanuló_neve": v.TanuloNev,
|
||||
"Tanuló_osztálya": v.OsztalyCsoportNev,
|
||||
"Megjelent": megj
|
||||
});
|
||||
});
|
||||
|
||||
var grid = exportGrid.data("kendoGrid");
|
||||
|
||||
grid.setDataSource(dataSource);
|
||||
grid.options.excel.fileName = "Export";
|
||||
grid.options.excel.allPages = true;
|
||||
|
||||
grid.bind("excelExport", function (e) {
|
||||
var elem = document.createElement('div');
|
||||
for (var i = 1; i < e.workbook.sheets[0].rows.length; i++) {
|
||||
var row = e.workbook.sheets[0].rows[i];
|
||||
}
|
||||
});
|
||||
grid.saveAsExcel();
|
||||
}
|
||||
}
|
||||
|
||||
lepHelper.ChangeAllJelenletValue = function (id, isMegjelent) {
|
||||
var id = id.toString();
|
||||
|
||||
if (isMegjelent) {
|
||||
$.each($("#EloadasokDetailGrid_" + id).find(".kretaSelectorButton[val='" + 'T' + "']"), function () {
|
||||
if (!$(this).hasClass("activebar")) {
|
||||
$(this).click();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
$.each($("#EloadasokDetailGrid_" + id).find(".kretaSelectorButton[val='" + 'F' + "']"), function () {
|
||||
if (!$(this).hasClass("activebar")) {
|
||||
$(this).click();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function saveResponseOk(data) {
|
||||
$("#EloadasokDetailGrid_" + data).data('kendoGrid').dataSource.read();
|
||||
$("#EloadasokDetailGrid_" + data).data('kendoGrid').refresh();
|
||||
}
|
||||
|
||||
lepHelper.OpenEloadasLeiras = function (rowData) {
|
||||
popupTantervProperties(rowData.Leiras);
|
||||
|
||||
$("#BtnCancel").click(function () {
|
||||
KretaWindowHelper.destroyAllWindow();
|
||||
});
|
||||
}
|
||||
|
||||
function popupTantervProperties(data) {
|
||||
var content = "<div class='modalContainer'><div class='modalOuter'><div class='modalContent'><div class='k-content'><div class='container-fluid details'>" + data + "</div></div></div></div></div><div class='modalFooter'><div style='display: flex; flex-direction: column; padding: inherit;'><div style='padding: inherit;'><div style='float:right; padding-left: 5px;'><button id='BtnCancel' type='button' data-role='button' class='k-button' role='button' aria-disabled='false' tabindex='0'>Mégse</button>"+ "</div></div><div style='padding: inherit;'></div></div></div>";
|
||||
|
||||
var config = KretaWindowHelper.getWindowConfigContainer();
|
||||
config.title = "@(EloadasokResource.Leiras)";
|
||||
config.content = content;
|
||||
config.width = "50%";
|
||||
config.height = "50%";
|
||||
var modal = KretaWindowHelper.createWindow("LeirasWindow", config);
|
||||
KretaWindowHelper.openWindow(modal, true);
|
||||
}
|
||||
|
||||
return lepHelper;
|
||||
})();
|
||||
</script>
|
63
KretaWeb/Areas/LEPModul/Views/GondviseloLEP/Index.cshtml
Normal file
63
KretaWeb/Areas/LEPModul/Views/GondviseloLEP/Index.cshtml
Normal file
|
@ -0,0 +1,63 @@
|
|||
@using Kreta.BusinessLogic.Classes
|
||||
@using Kreta.Web.Helpers.Grid
|
||||
@using Kreta.Web.Areas.LEPModul.Models
|
||||
@using Kreta.Web.Security
|
||||
@model EloadasokSearchModel
|
||||
|
||||
<div>
|
||||
@{
|
||||
var grid = Html.KretaGrid<EloadasokGridModel>
|
||||
(
|
||||
"EloadasokGrid",
|
||||
new GridApiUrl("EloadasokKezeleseApi", "GetEloadasokGondviseloGrid"),
|
||||
sort: sort => sort.Add(m => m.Datum).Descending(),
|
||||
allowPaging: false,
|
||||
allowSorting: false,
|
||||
allowScrolling: true
|
||||
)
|
||||
.Columns(columns =>
|
||||
{
|
||||
columns.Bound(m => m.Datum).Width("8%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
|
||||
columns.Bound(m => m.EloadasKezdete).Width("5%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortTime]);
|
||||
columns.Bound(m => m.EloadasVege).Width("5%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortTime]);
|
||||
columns.Bound(m => m.EloadasNev);
|
||||
columns.Bound(m => m.SzervezetNev);
|
||||
columns.Bound(m => m.Helyszin).Width("20%");
|
||||
columns.Bound(m => m.Megjelent);
|
||||
})
|
||||
.AutoBind(true);
|
||||
|
||||
if (ClaimData.GondviseloId.HasValue)
|
||||
{
|
||||
grid.Columns(c => c.Template(t => t.ToString()).ClientTemplate(
|
||||
grid.SelectForColumnTemplate(Html.For<EloadasokGridModel>(), x => x.GondviseloElfogadas, Model.GondviseloElfogadasList, false, "LEPGVHelper.SetEloadasEngedelyezes")
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
@(grid)
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
var LEPGVHelper = (function () {
|
||||
var helper = function () { };
|
||||
|
||||
helper.SetEloadasEngedelyezes = function (data) {
|
||||
var itemId = $(data).closest('div').parent('div').attr("id").replace('divEloadasokGrid_GondviseloElfogadas_', '');
|
||||
var tanuloId = "@ClaimData.FelhasznaloId";
|
||||
|
||||
var engedelyezve = null;
|
||||
if ($(data).attr('val') == "T" && $(data).hasClass("activebar")) { engedelyezve = true; }
|
||||
if ($(data).attr('val') == "F" && $(data).hasClass("activebar")) { engedelyezve = false; }
|
||||
|
||||
var url = "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "EloadasokKezeleseApi", action = "SaveGondviseloEngedelyezes" })";
|
||||
AjaxHelper.DoPost(url, { eloadasId: itemId, tanuloId: tanuloId, engedelyezve: engedelyezve }, feedBackOk);
|
||||
|
||||
function feedBackOk() {
|
||||
KretaWindowHelper.notification("Sikeres mentés!", "success");
|
||||
}
|
||||
}
|
||||
|
||||
return helper;
|
||||
})();
|
||||
</script>
|
|
@ -0,0 +1,440 @@
|
|||
@using Kreta.Web.Helpers.Grid
|
||||
@using Kreta.Web.Areas.LEPModul.Models
|
||||
@using Kreta.Resources
|
||||
@using Kreta.Enums.ManualEnums
|
||||
@using Kreta.Web.Security
|
||||
@model EloadasokDetailModel
|
||||
|
||||
<style>
|
||||
.eloadasok-multiselect .k-floatwrap {
|
||||
border: solid 1px #aab7c4 !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
<style type="text/css">
|
||||
.jelenletGridColumnHeader {
|
||||
cursor: pointer;
|
||||
float: left;
|
||||
width: 50px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.jelenletGridColumnHeaderIgen {
|
||||
padding: 2px 10px 4px 10px;
|
||||
margin-top: 2px;
|
||||
color: #FFFFFF;
|
||||
border: 1px solid #C5D3E2 !important;
|
||||
background-color: #54A5D1;
|
||||
}
|
||||
|
||||
.jelenletGridColumnHeaderNem {
|
||||
padding: 2px 10px 4px 10px;
|
||||
margin-top: 2px;
|
||||
margin-left: 4px;
|
||||
color: #5C6A79;
|
||||
border: 1px solid #C5D3E2 !important;
|
||||
}
|
||||
|
||||
.tankerTorolteUzenet {
|
||||
color: red;
|
||||
font-weight: bold;
|
||||
justify-content: center;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div id="partialDetailGrid_@Model.ID.ToString()">
|
||||
@{
|
||||
List<SelectListItem> JelenletList = new List<SelectListItem>();
|
||||
JelenletList.Add(new SelectListItem() { Text = "Megjelent", Value = "T" });
|
||||
JelenletList.Add(new SelectListItem() { Text = "Nem jelent meg", Value = "F" });
|
||||
|
||||
var grid = Html.KretaGrid<EloadasokDetailGridModel>
|
||||
(
|
||||
name: "EloadasokDetailGrid_" + Model.ID.ToString(),
|
||||
getUrl: new GridApiUrl("EloadasokKezeleseApi", "GetEloadasokDetailGrid", new Dictionary<string, string>()),
|
||||
useToolBar: false,
|
||||
allowSorting: false,
|
||||
readDataFunction: "function(){ return { data: '" + Model.ToJson(true) + "' }; }"
|
||||
)
|
||||
.Columns(columns =>
|
||||
{
|
||||
columns.Bound(c => c.TanuloNev);
|
||||
columns.Bound(c => c.OsztalyCsoportNev);
|
||||
columns.Bound(c => c.GondviseloElfogadas).ClientTemplate(@"
|
||||
#if (GondviseloElfogadas == 'T') { # Igen # } #
|
||||
#if (GondviseloElfogadas == 'F') { # Nem # } #
|
||||
#if (GondviseloElfogadas == null || GondviseloElfogadas == ' ') { # Függőben # } #
|
||||
");
|
||||
columns.Bound(c => c.TanuloOktAzon).Hidden();
|
||||
columns.Bound(c => c.IntezmenyNev).Hidden();
|
||||
columns.Bound(c => c.IntezmenyAzon).Hidden();
|
||||
})
|
||||
.AutoBind(true)
|
||||
.Excel(excel => excel
|
||||
.FileName("JelenletiIv.xlsx")
|
||||
.AllPages(true)
|
||||
);
|
||||
|
||||
if (Model.Datum > DateTime.Now.Date)
|
||||
{
|
||||
if (ClaimData.JustLEPOrganization)
|
||||
{
|
||||
grid.FunctionCommand(Html, new List<FunctionCommand>() { new FunctionCommand() { Name = EloadasokResource.DokumentumLetoltes, ClientAction = "LEPDetailHelper.DokumentumLetoltes" }, new FunctionCommand() { Name = "Jelenléti Ív", ClientAction = "LEPHelper.JelenletiIv" }, new FunctionCommand() { Name = "Export", ClientAction = "LEPHelper.Export" } });
|
||||
}
|
||||
else
|
||||
{
|
||||
grid.FunctionCommand(Html, new List<FunctionCommand>() { new FunctionCommand() { Name = "Jelenléti Ív", ClientAction = "LEPHelper.JelenletiIv" }, new FunctionCommand() { Name = "Export", ClientAction = "LEPHelper.Export" } });
|
||||
}
|
||||
|
||||
grid.ConditionalRowFunction(Html, new List<RowFunction> {
|
||||
new RowFunction { NameResourceId = 117 /*Törlés*/, ClientAction = "LEPHelper.DeleteTanulokForEloadas", IconEnum = GridRowFunctionIconEnum.Torles }
|
||||
}, "LEPHelper.setRowDeleting");
|
||||
}
|
||||
else
|
||||
{
|
||||
grid.Columns(c => c.Template(t => t.ToString()).HeaderHtmlAttributes(new { @class = "mulasztasGridColumnHeaderTh" })
|
||||
.Title(@"<div>
|
||||
<div class='jelenletGridColumnHeader jelenletGridColumnHeaderIgen' style='width: 70px; float: left;' onclick='LEPHelper.ChangeAllJelenletValue(" + Model.ID + ", true);'>" + "Megjelent" + @"</div>
|
||||
<div class='jelenletGridColumnHeader jelenletGridColumnHeaderNem' style='width: 100px; float: left;' onclick='LEPHelper.ChangeAllJelenletValue(" + Model.ID + ", false);'>" + "Nem jelent meg" + @"</div>
|
||||
</div>")
|
||||
.ClientTemplate(@"
|
||||
#if (isErasable == 'T') { # " +
|
||||
grid.SelectForColumnTemplate(Html.For<EloadasokDetailGridModel>(), x => x.Megjelent, JelenletList)
|
||||
+ @"# } #"
|
||||
)
|
||||
);
|
||||
|
||||
if (ClaimData.JustLEPOrganization)
|
||||
{
|
||||
grid.FunctionCommand(Html, new List<FunctionCommand>() { new FunctionCommand() { Name = "Engedélykérő dokumenutumok letöltése", ClientAction = "LEPDetailHelper.DokumentumLetoltes" }, new FunctionCommand() { Name = "Jelenléti Ív", ClientAction = "LEPHelper.JelenletiIv" }, new FunctionCommand() { Name = "Jelenlét mentés", ClientAction = "LEPHelper.JelenletMentes" }, new FunctionCommand() { Name = "Export", ClientAction = "LEPHelper.Export" } });
|
||||
}
|
||||
else
|
||||
{
|
||||
grid.FunctionCommand(Html, new List<FunctionCommand>() { new FunctionCommand() { Name = "Jelenléti Ív", ClientAction = "LEPHelper.JelenletiIv" }, new FunctionCommand() { Name = "Jelenlét mentés", ClientAction = "LEPHelper.JelenletMentes" }, new FunctionCommand() { Name = "Export", ClientAction = "LEPHelper.Export" } });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@if (Model.IsToroltJelentkezes)
|
||||
{
|
||||
<div class="row">
|
||||
<label class="windowInputLabel tankerTorolteUzenet">@EloadasokResource.ATankeruletiKozpontTorolteAzEloadashozRogzitettJelentkezoket</label>
|
||||
</div>
|
||||
}
|
||||
<div class="row">
|
||||
<div class="col-xs-3 col-sm-3 col-md-3">
|
||||
<div class="col-xs-12 col-sm-12 col-md-12" style="padding-left: 0px; padding-right: 0px;">
|
||||
<label class="windowInputLabel">@EloadasokResource.EvFolyam</label>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-12 col-md-12" style="padding-left: 0px; padding-right: 0px;">
|
||||
@Html.KretaComboBox("PartialEvfolyamComboSelect_" + Model.ID.ToString(), null, "Text", "Value", null, null)
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-4 col-sm-4 col-md-4" style="margin-top: 20px;">
|
||||
<label class="windowInputLabel">@(string.Format(EloadasokResource.EngedelyezettTanuloiLetszamFormat, Model.TanuloLetszam))</label>
|
||||
</div>
|
||||
<div class="col-xs-4 col-sm-4 col-md-4" style="margin-top: 20px;">
|
||||
<label class="windowInputLabel">@(string.Format(EloadasokResource.EngedelyezettKiseroiLetszamFormat, Model.KiseroLetszam))</label>
|
||||
</div>
|
||||
<div class="col-xs-1 col-sm-1 col-md-1">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-3 col-sm-3 col-md-3"><label class="windowInputLabel">@EloadasokResource.Osztaly</label></div>
|
||||
<div class="col-xs-5 col-sm-5 col-md-5"><label class="windowInputLabel">Tanuló (<span id="selectedTanulo_@Model.ID.ToString()">0</span>)</label></div>
|
||||
<div class="col-xs-2 col-sm-2 col-md-2 kretaLabelTooltip"><label class="windowInputLabel">@EloadasokResource.KiseroOsszLetszam <img class="kretaLabelTooltipImg"><span class="kretaLabelTooltipText">@EloadasokResource.KiseroOsszLetszamIntezmeny</span></label></div>
|
||||
<div class="col-xs-2 col-sm-2 col-md-2"><label class="windowInputLabel"></label></div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-3 col-sm-3 col-md-3">
|
||||
@Html.KretaComboBox("PartialComboSelect_" + Model.ID.ToString(), null, "Text", "Value", null, null)
|
||||
</div>
|
||||
<div class="col-xs-5 col-sm-5 col-md-5 eloadasok-multiselect">
|
||||
@Html.KretaMultiSelect("PartialMultiSelect_" + Model.ID.ToString(), null, "Text", "Value", null, null)
|
||||
</div>
|
||||
<div class="col-xs-2 col-sm-2 col-md-2">
|
||||
@Html.KretaNumeric("Kisero_" + Model.ID.ToString()).Min(0).Max(100).Step(1).Format("").Decimals(0).Value(Model.KiseroSzam)
|
||||
</div>
|
||||
<div class="col-xs-2 col-sm-2 col-md-2">
|
||||
<input type="button" class="k-button" id="SaveBtn_@Model.ID.ToString()" name="SaveBtn_@Model.ID.ToString()" value="@CommonResource.Mentes" />
|
||||
</div>
|
||||
</div>
|
||||
@if (Model.Datum >= DateTime.Now.Date)
|
||||
{
|
||||
<br />
|
||||
<div class="row">
|
||||
<div class="col-xs-3 col-sm-3 col-md-3"><label class="windowInputLabel">@EloadasokResource.TorolniKivantOsztalyok</label></div>
|
||||
<div class="col-xs-2 col-sm-2 col-md-2"><label class="windowInputLabel"></label></div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-3 col-sm-3 col-md-3">
|
||||
@Html.KretaComboBox("PartialComboDeleteSelect_" + Model.ID.ToString(), null, "Text", "Value", null, null)
|
||||
</div>
|
||||
<div class="col-xs-2 col-sm-2 col-md-2">
|
||||
<input type="button" class="k-button" id="DeleteBtn_@Model.ID.ToString()" name="DeleteBtn_@Model.ID.ToString()" value="@CommonResource.Torles" />
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
<br />
|
||||
@(grid)
|
||||
@*}
|
||||
else
|
||||
{
|
||||
@(grid)
|
||||
<div class="row"></div>
|
||||
<div class="row">
|
||||
<div class="col-xs-2 col-sm-2 col-md-2 kretaLabelTooltip"><label class="windowInputLabel">Kísérő összlétszám <img class="kretaLabelTooltipImg"><span class="kretaLabelTooltipText">Az intézményből az előadásra küldendő kísérők összlétszáma.</span></label></div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-2 col-sm-2 col-md-2">
|
||||
@Html.KretaNumeric("Kisero_" + Model.ID.ToString()).Min(0).Max(100).Step(1).Format("").Decimals(0).Value(Model.KiseroSzam).Enable(false)
|
||||
</div>
|
||||
</div>
|
||||
}*@
|
||||
<div class="clear"></div>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function () {
|
||||
GetEvfolyamok();
|
||||
|
||||
$("#PartialMultiSelect_@Model.ID.ToString()").change(function () {
|
||||
var selectedValues = $(this).val();
|
||||
if (selectedValues != null) {
|
||||
$("#selectedTanulo_@Model.ID.ToString()").text(selectedValues.length);
|
||||
}
|
||||
else {
|
||||
$("#selectedTanulo_@Model.ID.ToString()").text(0);
|
||||
}
|
||||
});
|
||||
|
||||
$("#DeleteBtn_@Model.ID.ToString()").click(function () {
|
||||
KretaWindowHelper.confirmWindow("@(CommonResource.Figyelmeztetes)", "Biztosan törli a kijelölt osztályba járó összes tanuló jelentkezését?", deleteTanuloByOsztaly);
|
||||
});
|
||||
|
||||
function deleteTanuloByOsztaly() {
|
||||
var urlDelete = "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "EloadasokKezeleseApi", action = "DeleteTanulokForEloadasByOsztaly" })";
|
||||
AjaxHelper.DoPost(urlDelete, { eloadasId: "@Model.ID", osztalyId: $("#PartialComboDeleteSelect_@Model.ID.ToString()").data("kendoComboBox").value() }, saveResponseOk, saveResponseError);
|
||||
}
|
||||
|
||||
$("#SaveBtn_@Model.ID.ToString()").click(function () {
|
||||
var tanuloIds = $("#PartialMultiSelect_@Model.ID.ToString()").val();
|
||||
var grid = $("#EloadasokDetailGrid_@Model.ID.ToString()").data('kendoGrid').dataSource.data();
|
||||
|
||||
var kiseroSzam = $("#Kisero_@Model.ID.ToString()").data('kendoNumericTextBox').value();
|
||||
if (tanuloIds != null) {
|
||||
$.each(grid, function (i, v) {
|
||||
tanuloIds = $.grep(tanuloIds, function (value) {
|
||||
return value != v.TanuloId.toString();
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
if (kiseroSzam >= 0) {
|
||||
var postData = {
|
||||
"eloadasId": "@Model.ID",
|
||||
"tanuIds": tanuloIds,
|
||||
"kiseroSzam": kiseroSzam,
|
||||
"szervNev": "@Model.SzervezetNev",
|
||||
"eloadasNev": "@Model.EloadasNev",
|
||||
"idopont": "@Model.Datum",
|
||||
"kezdete": "@Model.EloadasKezdete",
|
||||
"vege": "@Model.EloadasVege",
|
||||
"ferohelyFoglaltHelyek": "@Model.FerohelyFoglaltHelyek",
|
||||
"tanuloLetszam": "@Model.TanuloLetszam",
|
||||
"kiseroLetszam": "@Model.KiseroLetszam",
|
||||
"tanuloLetszamFennmarado": "@Model.TanuloLetszamFennmarado",
|
||||
"kiseroLetszamFennmarado": "@Model.KiseroLetszamFennmarado",
|
||||
};
|
||||
|
||||
var urlSaveTanulok = "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "EloadasokKezeleseApi", action = "SaveTanulokForEloadas" })";
|
||||
AjaxHelper.DoPost(urlSaveTanulok, postData, saveResponseOk, saveResponseError);
|
||||
}
|
||||
});
|
||||
|
||||
$("#PartialEvfolyamComboSelect_@Model.ID.ToString()").change(function () {
|
||||
var evfolyamId = $("#PartialEvfolyamComboSelect_@Model.ID.ToString()").val();
|
||||
if ($.isNumeric(evfolyamId)) {
|
||||
GetOsztalyok(evfolyamId);
|
||||
}
|
||||
else {
|
||||
ClearOsztalyok();
|
||||
}
|
||||
});
|
||||
|
||||
$("#PartialComboSelect_@Model.ID.ToString()").change(function () {
|
||||
var osztalyId = $("#PartialComboSelect_@Model.ID.ToString()").val();
|
||||
if ($.isNumeric(osztalyId)) {
|
||||
GetTanulok(osztalyId);
|
||||
}
|
||||
else {
|
||||
ClearTanulok();
|
||||
}
|
||||
});
|
||||
|
||||
function saveResponseOk() {
|
||||
KretaGridHelper.refreshGrid("EloadasokGrid");
|
||||
}
|
||||
|
||||
function saveResponseError(error) {
|
||||
KretaWindowHelper.feedbackWindow("@(ErrorResource.Hiba)", error.responseJSON.Message, true);
|
||||
}
|
||||
|
||||
function GetTanulok(osztalyId) {
|
||||
var urlGetTanulok = "@Url.HttpRouteUrl("ActionApi", new { controller = "EloadasokKezeleseApi", action = "GetTanulokForOsztaly" })";
|
||||
var modelId = '@Model.ID';
|
||||
var evfolyam = $('#PartialEvfolyamComboSelect_@Model.ID.ToString()').data('kendoComboBox');
|
||||
|
||||
if (osztalyId != '') {
|
||||
var jsonData = { eloadasId: modelId, evfolyamId: evfolyam.value(), filter: osztalyId, isMindenEvfolyamJog: "@Model.IsMindenEvfolyamJog" };
|
||||
}
|
||||
else {
|
||||
var jsonData = { eloadasId: modelId, evfolyamId: evfolyam.value(), isMindenEvfolyamJog: "@Model.IsMindenEvfolyamJog" };
|
||||
}
|
||||
|
||||
AjaxHelper.DoGet(urlGetTanulok, jsonData,
|
||||
function (data) {
|
||||
var dataSource = new kendo.data.DataSource();
|
||||
|
||||
if (data != "") {
|
||||
dataSource.data(data);
|
||||
|
||||
var multiselect = $("#PartialMultiSelect_@Model.ID.ToString()").data("kendoMultiSelect");
|
||||
multiselect.setDataSource(dataSource);
|
||||
multiselect.refresh();
|
||||
|
||||
if (data.length == 1) { multiselect.value(''); }
|
||||
|
||||
var selectedValues = [];
|
||||
for (var i = 0; i < multiselect.dataSource.data().length; i++) {
|
||||
var item = multiselect.dataSource.data()[i];
|
||||
selectedValues.push(item.Value);
|
||||
}
|
||||
multiselect.value(selectedValues);
|
||||
$("#selectedTanulo_@Model.ID.ToString()").text(selectedValues.length);
|
||||
}
|
||||
else {
|
||||
ClearTanulok();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function GetOsztalyok(evfolyamId) {
|
||||
var urlGetOsztalyok = "@Url.HttpRouteUrl("ActionApi", new { controller = "EloadasokKezeleseApi", action = "GetOsztalyokForEloadas" })";
|
||||
var modelId = '@Model.ID';
|
||||
var jsonData = { eloadasId: modelId, evfolyamId: evfolyamId, isMindenEvfolyamJog: "@Model.IsMindenEvfolyamJog" };
|
||||
|
||||
AjaxHelper.DoGet(urlGetOsztalyok, jsonData,
|
||||
function (data) {
|
||||
var dataSource = new kendo.data.DataSource();
|
||||
|
||||
var tanulokMultiSelect = $("#PartialMultiSelect_@Model.ID.ToString()").data("kendoMultiSelect");
|
||||
tanulokMultiSelect.value([]);
|
||||
tanulokMultiSelect.dataSource.data([]);
|
||||
if (data.Item1 != "") {
|
||||
dataSource.data(data.Item1);
|
||||
var multiselect = $("#PartialComboSelect_@Model.ID.ToString()").data("kendoComboBox");
|
||||
var multiselectDelete = $("#PartialComboDeleteSelect_@Model.ID.ToString()").data("kendoComboBox");
|
||||
|
||||
if (multiselect != undefined) {
|
||||
multiselect.setDataSource(dataSource);
|
||||
multiselect.refresh();
|
||||
if (data.Item1.length == 1) { setTimeout(function () { multiselect.value(''); }, 1); }
|
||||
}
|
||||
|
||||
if (multiselectDelete != undefined) {
|
||||
var deleteDataSource = new kendo.data.DataSource();
|
||||
deleteDataSource.data(data.Item2)
|
||||
multiselectDelete.setDataSource(deleteDataSource);
|
||||
multiselectDelete.refresh();
|
||||
|
||||
if (data.Item2.length == 1) { multiselectDelete.value(''); }
|
||||
}
|
||||
}
|
||||
else {
|
||||
ClearOsztalyok();
|
||||
ClearTorlendoOsztalyok();
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
function GetEvfolyamok() {
|
||||
var urlGetEvfolyamok = "@Url.HttpRouteUrl("ActionApi", new { controller = "EloadasokKezeleseApi", action = "GetEvfolyamokForEloadas" })";
|
||||
var modelId = '@Model.ID';
|
||||
var jsonData = { eloadasId: modelId, evfolyamIdList: '@Model.EvfolyamIdList', isMindenEvfolyamJog: "@Model.IsMindenEvfolyamJog" };
|
||||
|
||||
AjaxHelper.DoGet(urlGetEvfolyamok, jsonData,
|
||||
function (data) {
|
||||
var dataSource = new kendo.data.DataSource();
|
||||
|
||||
if (data != "") {
|
||||
dataSource.data(data);
|
||||
var comboboxEvfolyam = $("#PartialEvfolyamComboSelect_@Model.ID.ToString()").data("kendoComboBox");
|
||||
|
||||
if (comboboxEvfolyam != undefined) {
|
||||
comboboxEvfolyam.setDataSource(dataSource);
|
||||
comboboxEvfolyam.refresh();
|
||||
if (data.length == 1) { setTimeout(function () { comboboxEvfolyam.value(''); }, 1); }
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
function ClearOsztalyok() {
|
||||
var osztalyCombobox = $("#PartialComboSelect_@Model.ID.ToString()").data("kendoComboBox");
|
||||
if (osztalyCombobox != undefined) {
|
||||
osztalyCombobox.text("");
|
||||
osztalyCombobox.value("");
|
||||
osztalyCombobox.dataSource.data([]);
|
||||
}
|
||||
ClearTanulok();
|
||||
}
|
||||
|
||||
function ClearTorlendoOsztalyok() {
|
||||
var osztalyCombobox = $("#PartialComboDeleteSelect_@Model.ID.ToString()").data("kendoComboBox");
|
||||
if (osztalyCombobox != undefined) {
|
||||
osztalyCombobox.text("");
|
||||
osztalyCombobox.value("");
|
||||
osztalyCombobox.dataSource.data([]);
|
||||
}
|
||||
}
|
||||
|
||||
function ClearTanulok() {
|
||||
var multiselect = $("#PartialMultiSelect_@Model.ID.ToString()").data("kendoMultiSelect");
|
||||
if (multiselect != undefined) {
|
||||
var dataSource = new kendo.data.DataSource();
|
||||
multiselect.setDataSource(dataSource);
|
||||
multiselect.value([]);
|
||||
$("#PartialMultiSelect_@Model.ID.ToString()").change();
|
||||
}
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
<script type="text/javascript">
|
||||
var LEPDetailHelper = (function () {
|
||||
var helper = function () { };
|
||||
|
||||
helper.DokumentumLetoltes = function (data) {
|
||||
var json = [];
|
||||
var gridTanuloAllRows = KretaGridHelper.getAllRows("EloadasokDetailGrid_" + "@Model.ID.ToString()");
|
||||
$.each(gridTanuloAllRows, function (i, v) {
|
||||
json.push({
|
||||
SzervezetNev : v.szervezetNev,
|
||||
EloadasHelyszin : v.eloadasHelyszin,
|
||||
EloadasNev : v.eloadasNev,
|
||||
EloadasIdopontja : v.datum.substring(0, 10).replace('-','.').replace('-','.') + ". " + v.kezdete.substring(11,16) + " - " + v.vege.substring(11,16),
|
||||
TanuloNev : v.TanuloNev,
|
||||
TanuloOktAzon : v.TanuloOktAzon,
|
||||
});
|
||||
});
|
||||
|
||||
$("#data").val(JSON.stringify(json));
|
||||
$("#downloadBtn").click();
|
||||
}
|
||||
|
||||
return helper;
|
||||
})();
|
||||
</script>
|
||||
</div>
|
3
KretaWeb/Areas/LEPModul/Views/_ViewStart.cshtml
Normal file
3
KretaWeb/Areas/LEPModul/Views/_ViewStart.cshtml
Normal file
|
@ -0,0 +1,3 @@
|
|||
@{
|
||||
Layout = "~/Views/Shared/_MasterLayout.cshtml";
|
||||
}
|
38
KretaWeb/Areas/LEPModul/Views/web.config
Normal file
38
KretaWeb/Areas/LEPModul/Views/web.config
Normal file
|
@ -0,0 +1,38 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<configuration>
|
||||
<configSections>
|
||||
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
|
||||
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
|
||||
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
|
||||
</sectionGroup>
|
||||
</configSections>
|
||||
|
||||
<system.web.webPages.razor>
|
||||
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
|
||||
<pages pageBaseType="System.Web.Mvc.WebViewPage">
|
||||
<namespaces>
|
||||
<add namespace="System.Web.Mvc" />
|
||||
<add namespace="System.Web.Mvc.Ajax" />
|
||||
<add namespace="System.Web.Mvc.Html" />
|
||||
<add namespace="System.Web.Routing" />
|
||||
<add namespace="System.Web.Optimization" />
|
||||
<add namespace="Kreta.Web" />
|
||||
<add namespace="Kreta.BusinessLogic.Utils" />
|
||||
<add namespace="Kendo.Mvc.UI" />
|
||||
<add namespace="Kreta.Web.Helpers" />
|
||||
</namespaces>
|
||||
</pages>
|
||||
</system.web.webPages.razor>
|
||||
|
||||
<appSettings>
|
||||
<add key="webpages:Enabled" value="false" />
|
||||
</appSettings>
|
||||
|
||||
<system.webServer>
|
||||
<handlers>
|
||||
<remove name="BlockViewHandler"/>
|
||||
<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
|
||||
</handlers>
|
||||
</system.webServer>
|
||||
</configuration>
|
Loading…
Add table
Add a link
Reference in a new issue