455 lines
22 KiB
C#
455 lines
22 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using System.Net;
|
|
using System.Net.Http;
|
|
using System.Web.Http;
|
|
using System.Web.Http.Results;
|
|
using Kreta.BusinessLogic.Classes.ComboBox;
|
|
using Kreta.BusinessLogic.HelperClasses;
|
|
using Kreta.BusinessLogic.Helpers;
|
|
using Kreta.BusinessLogic.Security;
|
|
using Kreta.Core;
|
|
using Kreta.Core.Exceptions;
|
|
using Kreta.Enums.ManualEnums;
|
|
using Kreta.Framework;
|
|
using Kreta.Resources;
|
|
using Kreta.Web.Areas.Orarend.Logic;
|
|
using Kreta.Web.Areas.Orarend.Models;
|
|
using Kreta.Web.Helpers;
|
|
using Kreta.Web.Helpers.Error;
|
|
using Kreta.Web.Security;
|
|
|
|
namespace Kreta.Web.Controllers
|
|
{
|
|
[ApiRoleClaimsAuthorize(true)]
|
|
public class CalendarApiController : ApiController
|
|
{
|
|
[ApiRolePackageAuthorize(KretaClaimPackages.Ellenorzo.ClaimValue, KretaClaimPackages.CsokkentettGondviselo.ClaimValue)]
|
|
public List<OrarendCO.Event> GetTanuloOrarend(DateTime start, DateTime end)
|
|
{
|
|
if (ClaimData.SessionId == null)
|
|
return null;
|
|
OrarendHelper orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
var result = orarendHelper.GetTanuloOrarend(start, end, ClaimData.FelhasznaloId, ClaimData.FelhasznaloSzerepCsomagok.Contains(KretaClaimPackages.CsokkentettGondviselo.ClaimValue)).Events;
|
|
|
|
return result;
|
|
}
|
|
|
|
[ApiRolePackageAuthorize(KretaClaimPackages.Naplo.ClaimValue)]
|
|
public List<OrarendCO.Event> GetTanariOrarendOrarendiorakEsTanorak(int tanarId, int osztalyCsoportId, int tanuloId, DateTime start, DateTime end, bool isFromSzervezet = false)
|
|
{
|
|
if (ClaimData.SessionId == null)
|
|
return null;
|
|
OrarendHelper orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
var tId = ClaimData.FelhasznaloId;
|
|
var oId = (osztalyCsoportId >= 0 ? osztalyCsoportId : new int?());
|
|
var sId = (tanuloId > 0 ? tanuloId : new int?());
|
|
|
|
var result = orarendHelper.GetTanariOrarendOrarendiorakEsTanorak(start, end, tId, oId, sId, ClaimData.FelhasznaloSzerepkor, isFromSzervezet: isFromSzervezet, isDualisOktato: ClaimData.IsDualisOktato);
|
|
result.ConvertToOrarendViewData();
|
|
|
|
return result.Events;
|
|
}
|
|
|
|
[ApiRolePackageAuthorize(KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue)]
|
|
public List<OrarendCO.Event> GetCsoportVezetoTanorak(int tanarId, int osztalyCsoportId, int tanuloId, DateTime start, DateTime end)
|
|
{
|
|
if (ClaimData.SessionId == null)
|
|
return null;
|
|
var orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
var result = orarendHelper.GetCsoportVezetoTanorak(start, end, osztalyCsoportId, ClaimData.FelhasznaloSzerepkor);
|
|
result.ConvertToOrarendViewData();
|
|
return result.Events;
|
|
}
|
|
|
|
[ApiRolePackageAuthorize(KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue)]
|
|
public List<OrarendCO.Event> GetCsoportVezetoTanorankivuliFoglalkozasok(int tanarId, int osztalyCsoportId, int tanuloId, DateTime start, DateTime end)
|
|
{
|
|
if (ClaimData.SessionId == null)
|
|
return null;
|
|
var orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
var result = orarendHelper.GetCsoportVezetoTanorankivuliFoglalkozasok(start, end, osztalyCsoportId, ClaimData.FelhasznaloSzerepkor).Events;
|
|
return result;
|
|
}
|
|
|
|
[ApiRolePackageAuthorize(KretaClaimPackages.Naplo.ClaimValue)]
|
|
public List<OrarendCO.Event> GetTanariOrarendTanoranKivuliFoglalkozasok(int tanarId, int osztalyCsoportId, int tanuloId, DateTime start, DateTime end, bool isFromSzervezet = false)
|
|
{
|
|
if (ClaimData.SessionId == null)
|
|
return null;
|
|
OrarendHelper orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
var tId = ClaimData.FelhasznaloId;
|
|
var oId = (osztalyCsoportId >= 0 ? osztalyCsoportId : new int?());
|
|
var sId = (tanuloId > 0 ? tanuloId : new int?());
|
|
|
|
var result = orarendHelper.GetTanariOrarendTanoranKivuliFoglalkozasok(start, end, tId, oId, sId, ClaimData.FelhasznaloSzerepkor, isFromSzervezet: isFromSzervezet).Events;
|
|
return result;
|
|
}
|
|
|
|
[ApiRolePackageAuthorize(KretaClaimPackages.Naplo.ClaimValue)]
|
|
public List<OrarendCO.Event> GetTanariOrarendNemKotottMunkaido(int tanarId, DateTime start, DateTime end)
|
|
{
|
|
if (ClaimData.SessionId == null)
|
|
return null;
|
|
|
|
OrarendHelper orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
var tId = ClaimData.FelhasznaloId;
|
|
|
|
var result = orarendHelper.GetTanariOrarendNemKotottMunkaido(start, end, tId, ClaimData.FelhasznaloSzerepkor).Events;
|
|
return result;
|
|
}
|
|
|
|
[ApiRolePackageAuthorize(KretaClaimPackages.Naplo.ClaimValue)]
|
|
public List<OrarendCO.Event> GetOralatogatasOrarend(int tanarId, DateTime start, DateTime end)
|
|
{
|
|
if (ClaimData.SessionId == null)
|
|
return null;
|
|
|
|
OrarendHelper orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
var result = orarendHelper.GetOralatogatasOrarend(start, end, tanarId).Events;
|
|
return result;
|
|
}
|
|
|
|
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue)]
|
|
public List<OrarendCO.Event> GetAdminTanariOrarendOrarendiOrak(int tanarId, int osztalyCsoportId, DateTime start, DateTime end, bool isFromSzervezet = false)
|
|
{
|
|
if (ClaimData.SessionId == null)
|
|
return null;
|
|
OrarendHelper orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
var tId = (tanarId >= 0 ? tanarId : new int?());
|
|
var oId = (osztalyCsoportId >= 0 ? osztalyCsoportId : new int?());
|
|
|
|
var result = orarendHelper.GetAdminTanariOrarendOrarendiOrak(start, end, tId, oId, ClaimData.FelhasznaloSzerepkor, isFromSzervezet);
|
|
result.ConvertToOrarendViewData();
|
|
return result.Events;
|
|
}
|
|
|
|
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
|
public List<OrarendCO.Event> GetAdminKozpontiOrak(DateTime start, DateTime end)
|
|
{
|
|
var helper = new AdminKozpontiOrakHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
var result = helper.GetAdminKozpontiOrak(start, end);
|
|
result.ConvertToOrarendViewData();
|
|
|
|
return result.Events;
|
|
}
|
|
|
|
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue)]
|
|
public List<OrarendCO.Event> GetAdminOsztalyOrarendOrarendiOrak(int osztalyCsoportId, DateTime start, DateTime end, bool isFromSzervezet = false)
|
|
{
|
|
if (ClaimData.SessionId == null)
|
|
return null;
|
|
OrarendHelper orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
var result = orarendHelper.GetAdminOsztalyOrarendOrarendiOrak(start, end, osztalyCsoportId, isFromSzervezet);
|
|
result.ConvertToOrarendViewData();
|
|
return result.Events;
|
|
}
|
|
|
|
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue)]
|
|
public List<OrarendCO.Event> GetAdminTanariOrarendTanoranKivuliFoglalkozasok(int tanarId, int osztalyCsoportId, DateTime start, DateTime end, bool isFromSzervezet = false)
|
|
{
|
|
if (ClaimData.SessionId == null)
|
|
return null;
|
|
OrarendHelper orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
var tId = (tanarId >= 0 ? tanarId : new int?());
|
|
var oId = (osztalyCsoportId >= 0 ? osztalyCsoportId : new int?());
|
|
|
|
var result = orarendHelper.GetAdminTanariOrarendTanoranKivuliFoglalkozasok(start, end, tId, oId, ClaimData.FelhasznaloSzerepkor, isFromSzervezet).Events;
|
|
return result;
|
|
}
|
|
|
|
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue)]
|
|
public List<OrarendCO.Event> GetAdminOsztalyOrarendTanoranKivuliFoglalkozasok(int osztalyCsoportId, DateTime start, DateTime end, bool isFromSzervezet = false)
|
|
{
|
|
if (ClaimData.SessionId == null)
|
|
return null;
|
|
OrarendHelper orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
var result = orarendHelper.GetAdminOsztalyOrarendTanoranKivuliFoglalkozasok(start, end, osztalyCsoportId, ClaimData.FelhasznaloSzerepkor, isFromSzervezet).Events;
|
|
return result;
|
|
}
|
|
|
|
[ApiRolePackageAuthorize(KretaClaimPackages.CsoportVezeto.ClaimValue)]
|
|
public List<OrarendCO.Event> GetCsoportVezetoOrarendTanoranKivuliFoglalkozasok(int osztalyCsoportId, DateTime start, DateTime end)
|
|
{
|
|
if (ClaimData.SessionId == null)
|
|
return null;
|
|
OrarendHelper orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
var result = orarendHelper.GetAdminOsztalyOrarendTanoranKivuliFoglalkozasok(start, end, osztalyCsoportId, ClaimData.FelhasznaloSzerepkor, false).Events;
|
|
return result;
|
|
}
|
|
|
|
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
|
public List<OrarendCO.Event> GetAdminNemKotottMunkaido(int tanarId, DateTime start, DateTime end)
|
|
{
|
|
if (ClaimData.SessionId == null)
|
|
return null;
|
|
|
|
OrarendHelper orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
var tId = (tanarId >= 0 ? tanarId : 0);
|
|
|
|
var result = orarendHelper.GetAdminNemKotottMunkaido(start, end, tId, ClaimData.FelhasznaloSzerepkor).Events;
|
|
return result;
|
|
}
|
|
|
|
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
|
public List<OrarendCO.Event> GetTanoraiHelyettesitesek(int tanarId, DateTime start, DateTime end)
|
|
{
|
|
if (ClaimData.SessionId == null)
|
|
return null;
|
|
|
|
OrarendHelper orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
var tId = (tanarId >= 0 ? tanarId : new int?());
|
|
|
|
var result = orarendHelper.GetTanoraiHelyettesitesek(start, end, tId);
|
|
result.ConvertToOrarendViewData();
|
|
return result.Events;
|
|
}
|
|
|
|
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
|
public List<OrarendCO.Event> GetTanoranKivuliHelyettesitesek(int tanarId, DateTime start, DateTime end)
|
|
{
|
|
if (ClaimData.SessionId == null)
|
|
return null;
|
|
|
|
OrarendHelper orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
var tId = (tanarId >= 0 ? tanarId : new int?());
|
|
return orarendHelper.GetTanoranKivuliHelyettesitesek(start, end, tId);
|
|
}
|
|
|
|
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
|
public List<OrarendCO.Event> GetAdminNaploEllenorzesTanorakOrarendiOrak(int tanarId, DateTime start, DateTime end, bool isFromSzervezet = false)
|
|
{
|
|
if (ClaimData.SessionId == null
|
|
|| !tanarId.IsEntityId())
|
|
return null;
|
|
OrarendHelper orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
var tId = (tanarId >= 0 ? tanarId : new int?());
|
|
|
|
/* Duális oktató jog küldése KRETA2-12558 makkt később ki lehet majd venni */
|
|
var result = orarendHelper.GetTanariOrarendOrarendiorakEsTanorak(start, end, tId, null, null, Enums.SzerepkorTipusEnum.Adminisztrator, true, isFromSzervezet: isFromSzervezet, isDualisOktato: ClaimData.IsDualisOktato);
|
|
result.ConvertToOrarendViewData();
|
|
return result.Events;
|
|
}
|
|
|
|
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
|
public List<OrarendCO.Event> GetAdminNaploEllenorzesTanoranKivuliFoglalkozasok(int tanarId, DateTime start, DateTime end, bool isFromSzervezet = false)
|
|
{
|
|
if (ClaimData.SessionId == null)
|
|
return null;
|
|
OrarendHelper orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
var tId = (tanarId >= 0 ? tanarId : new int?());
|
|
|
|
var result = orarendHelper.GetTanariOrarendTanoranKivuliFoglalkozasok(start, end, tId, null, null, Enums.SzerepkorTipusEnum.Adminisztrator, true, isFromSzervezet);
|
|
return result.Events;
|
|
}
|
|
|
|
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
|
public List<OrarendCO.Event> GetAdminNaploEllenorzesNemKotottMunkaido(int tanarId, DateTime start, DateTime end)
|
|
{
|
|
if (ClaimData.SessionId == null)
|
|
return null;
|
|
OrarendHelper orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
var tId = (tanarId >= 0 ? tanarId : -1);
|
|
|
|
var result = orarendHelper.GetTanariOrarendNemKotottMunkaido(start, end, tId, Enums.SzerepkorTipusEnum.Adminisztrator, true);
|
|
return result.Events;
|
|
}
|
|
|
|
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
|
public List<OrarendCO.Event> GetAdminNaploEllenorzesFogadoora(int tanarId, DateTime start, DateTime end)
|
|
{
|
|
if (ClaimData.SessionId == null)
|
|
return null;
|
|
OrarendHelper orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
var tId = (tanarId >= 0 ? tanarId : -1);
|
|
|
|
var result = orarendHelper.GetTanariOrarendFogadoora(start, end, tId, Enums.SzerepkorTipusEnum.Adminisztrator, true);
|
|
return result.Events;
|
|
}
|
|
|
|
public List<OrarendCO.Event> GetTanevRendjeCalendar(DateTime start, DateTime end)
|
|
{
|
|
var tanevrendHelper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
return tanevrendHelper.GetTanevRendjeCalendarData(start, end);
|
|
}
|
|
|
|
public JsonResult<List<ComboBoxListItem>> GetTanevHetek()
|
|
{
|
|
NaptariHetHelper helper = new NaptariHetHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
var dropdownListItems = new List<ComboBoxListItem>();
|
|
var ds = helper.GetNaptariHetList();
|
|
var view = ds.Tables[0].DefaultView;
|
|
view.Sort = "HetSorszama";
|
|
foreach (DataRowView rowView in view)
|
|
{
|
|
DataRow row = rowView.Row;
|
|
var sli = new ComboBoxListItem()
|
|
{
|
|
Text = row.Field<int>("HetSorszama").ToString() + StringResourcesUtil.GetString(4742) + " (" + row.Field<DateTime>("HetKezdoNapja")/*.AddDays(1)*/.ToString("yyyy.MM.dd.") + " - " + row.Field<DateTime>("HetUtolsoNapja")/*.AddDays(1)*/.ToString("yyyy.MM.dd.") + ")",
|
|
Value = row.Field<DateTime>("HetKezdoNapja")/*.AddDays(1)*/.ToString("yyyy-MM-dd")
|
|
};
|
|
dropdownListItems.Add(sli);
|
|
}
|
|
|
|
return Json(dropdownListItems);
|
|
}
|
|
|
|
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue)]
|
|
public List<OrarendCO.Event> GetAdminTeremOrarendOrarendiOrak(int teremId, DateTime start, DateTime end, bool isFromSzervezet = false)
|
|
{
|
|
if (ClaimData.SessionId == null)
|
|
return null;
|
|
OrarendHelper orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
var result = orarendHelper.GetAdminTeremOrarendOrarendiOrak(start, end, teremId, isFromSzervezet);
|
|
result.ConvertToOrarendViewData();
|
|
return result.Events;
|
|
}
|
|
|
|
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue)]
|
|
public List<OrarendCO.Event> GetAdminTeremOrarendTanoranKivuliFoglalkozasok(int teremId, DateTime start, DateTime end, bool isFromSzervezet = false)
|
|
{
|
|
if (ClaimData.SessionId == null)
|
|
return null;
|
|
OrarendHelper orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
var result = orarendHelper.GetAdminTeremOrarendTanoranKivuliFoglalkozasok(start, end, teremId, ClaimData.FelhasznaloSzerepkor, isFromSzervezet).Events;
|
|
return result;
|
|
}
|
|
|
|
[ApiRolePackageAuthorize(KretaClaimPackages.Naplo.ClaimValue)]
|
|
public List<OrarendCO.Event> GetOrarendKereso(int? tanarId, int? osztalyCsoportId, int? teremId, DateTime start, DateTime end, bool osztalyTanuloOrarendbenNemLatszik = false)
|
|
{
|
|
if (ClaimData.SessionId == null)
|
|
return null;
|
|
OrarendHelper orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
tanarId = (tanarId >= 0 ? tanarId : new int?());
|
|
osztalyCsoportId = (osztalyCsoportId >= 0 ? osztalyCsoportId : new int?());
|
|
teremId = (teremId >= 0 ? teremId : new int?());
|
|
|
|
var result = orarendHelper.GetOrarendKereso(start, end, tanarId, osztalyCsoportId, teremId, ClaimData.FelhasznaloSzerepkor, osztalyTanuloOrarendbenNemLatszik);
|
|
return result.Events;
|
|
}
|
|
|
|
[ApiRolePackageAuthorize(KretaClaimPackages.Naplo.ClaimValue)]
|
|
public List<OrarendCO.Event> GetTanariOrarendFogadoora(DateTime start, DateTime end)
|
|
{
|
|
if (ClaimData.SessionId == null)
|
|
return null;
|
|
|
|
OrarendHelper orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
var tId = ClaimData.FelhasznaloId;
|
|
|
|
var result = orarendHelper.GetTanariOrarendFogadoora(start, end, tId, ClaimData.FelhasznaloSzerepkor).Events;
|
|
return result;
|
|
}
|
|
|
|
[HttpPost]
|
|
[ApiValidateAjaxAntiForgeryToken]
|
|
public HttpResponseMessage CopyOrarendiElem(CopyOrarendiElemModel model)
|
|
{
|
|
try
|
|
{
|
|
var orarendiOraHelper = new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
OraValidationCo co = OrarendiOraLogic.SetOraValidationCoFromCopyOrarendiElemModel(new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType()), model);
|
|
var utkozesValidationMsg = OrarendiOraLogic.CheckUtkozesValidation(co, "Orarend.successCopy");
|
|
|
|
if (utkozesValidationMsg.ErrorMsg.Length > 0)
|
|
{
|
|
throw new StatusError(HttpStatusCode.BadRequest, utkozesValidationMsg.ErrorMsg);
|
|
}
|
|
|
|
var orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
int? newId = orarendHelper.CopyOrarendiElem(model.copyId, co.OrarendiOraValidationCo.OraKezdete, co.OrarendiOraValidationCo.Oraszam.Value);
|
|
if (newId.IsEntityId())
|
|
{
|
|
orarendiOraHelper.OrarendValtozasCacheMentes(newId.Value);
|
|
}
|
|
|
|
return new HttpResponseMessage(HttpStatusCode.OK);
|
|
|
|
}
|
|
catch (BlException ex)
|
|
{
|
|
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
|
|
}
|
|
}
|
|
|
|
[HttpPost]
|
|
[ApiValidateAjaxAntiForgeryToken]
|
|
public HttpResponseMessage PreValidationOnCopyOrarendiElem(CopyOrarendiElemModel model)
|
|
{
|
|
var co = OrarendiOraLogic.SetOraValidationCoFromCopyOrarendiElemModel(new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType()), model);
|
|
|
|
if (model.oraszam > -1 && co.OrarendiOraValidationCo.OsztalyId.HasValue)
|
|
{
|
|
var osztalyCsoportIds = new CsengetesiRendHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetOsztalyCsoportIdsForCsengetesiRend(model.dateFrom, model.oraszam, new List<int> { co.OrarendiOraValidationCo.OsztalyId.Value });
|
|
|
|
if (!osztalyCsoportIds.Any())
|
|
{
|
|
throw new StatusError(HttpStatusCode.BadRequest, string.Format(OrarendResource.AMasoltOraOsztalyCsoportnakEgyediNap0Datumon, model.dateFrom.ToString(Core.Constants.ToStringPattern.HungarianDate)) + Core.Constants.General.Sortores);
|
|
}
|
|
}
|
|
|
|
var utkozesValidationMsg = OrarendiOraLogic.CheckUtkozesValidation(co, "Orarend.successOnPrevalidation();", isPrevalidation: true);
|
|
|
|
if (utkozesValidationMsg.ErrorMsg.Length > 0)
|
|
{
|
|
throw new StatusError(HttpStatusCode.BadRequest, utkozesValidationMsg.ErrorMsg);
|
|
}
|
|
|
|
if (utkozesValidationMsg.Msg.Length > 0)
|
|
{
|
|
throw new StatusError(CustomHTTPStatusEnum.WarningMegszakitas, string.Empty) { Json = utkozesValidationMsg };
|
|
}
|
|
|
|
return new HttpResponseMessage(HttpStatusCode.OK);
|
|
}
|
|
|
|
[HttpGet]
|
|
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
|
|
public JsonResult<RogzitettOraResult> GetRogzitettOrak(int tanarId, DateTime start)
|
|
{
|
|
var orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
(string kotottMunkaidoOra, string nemKotottMunkaidoOra) = orarendHelper.GetRogzitettOrak(tanarId, start);
|
|
|
|
return Json(new RogzitettOraResult
|
|
{
|
|
KotottMunkaido = kotottMunkaidoOra,
|
|
NemKotottMunkaido = nemKotottMunkaidoOra
|
|
});
|
|
}
|
|
|
|
public class RogzitettOraResult
|
|
{
|
|
public string KotottMunkaido { get; set; }
|
|
|
|
public string NemKotottMunkaido { get; set; }
|
|
}
|
|
}
|
|
}
|