init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -0,0 +1,192 @@
|
|||
using System;
|
||||
using System.Data;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Web.Http;
|
||||
using System.Web.Http.ModelBinding;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Core;
|
||||
using Kreta.Core.Exceptions;
|
||||
using Kreta.Framework;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Tanar.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.Tanar.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class HelyettesitesekKereseseApiController : ApiController
|
||||
{
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public DataSourceResult GetHelyettesitesGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))]
|
||||
DataSourceRequest request)
|
||||
{
|
||||
HelyettesitesSearchModel model = JsonConvert.DeserializeObject<HelyettesitesSearchModel>(data);
|
||||
if (!model.HelyettesitettId.IsEntityId() && model.IdoszakKezdete != null)
|
||||
{
|
||||
return new DataSourceResult();
|
||||
}
|
||||
|
||||
HelyettesitesekKereseseCo co = ConvertModelToCo(model);
|
||||
|
||||
var helper = new HelyettesitesHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
DataSet tanarOraiDataSet = helper.GetTanarOrai(co);
|
||||
DataSourceResult result = tanarOraiDataSet.ToDataSourceResult();
|
||||
return result;
|
||||
}
|
||||
|
||||
public DataSourceResult GetHelyettesitesekAjanlasa(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))]
|
||||
DataSourceRequest request)
|
||||
{
|
||||
HelyettesitesGridModel model = JsonConvert.DeserializeObject<HelyettesitesGridModel>(data);
|
||||
LehetsegesHelyettesitoTanarokCO co = ConvertGridModelToCo(model);
|
||||
|
||||
var helper = new HelyettesitesHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
DataSet tanarListDataSet = helper.GetHelyettesitesekAjanlasa(co);
|
||||
return tanarListDataSet.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage OraElmarad([FromBody] HelyettesitesBeallitasaModel model)
|
||||
{
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
var ora = new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetOrarendiOraById(model.HelyettesitendoOraID);
|
||||
try
|
||||
{
|
||||
new TanoraHelper(ConnectionTypeExtensions.GetSessionConnectionType()).SaveAdminNemMegtartottOra(
|
||||
ora.ID.Value,
|
||||
new DateTime(model.Datum.Year, model.Datum.Month, model.Datum.Day, ora.OraKezdete.Hour, ora.OraKezdete.Minute, ora.OraKezdete.Second),
|
||||
new DateTime(model.Datum.Year, model.Datum.Month, model.Datum.Day, ora.OraVege.Hour, ora.OraVege.Minute, ora.OraVege.Second), model.HelyettesitesOka);
|
||||
}
|
||||
catch (BlException e)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, e.Message);
|
||||
}
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteElmaradtOra(int tanoraId, int helyettesitettOrarendiOraId, DateTime helyettesitettDatum)
|
||||
{
|
||||
try
|
||||
{
|
||||
var connectionType = ConnectionTypeExtensions.GetActiveSessionConnectionType();
|
||||
var helper = new TanoraHelper(connectionType);
|
||||
var orarendHelper = new OrarendHelper(connectionType);
|
||||
helper.NaplozasTorlese(tanoraId, true);
|
||||
|
||||
var orarendiOraHelper = new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
orarendiOraHelper.OrarendValtozasCacheMentes(helyettesitettOrarendiOraId, helyettesitettDatum);
|
||||
orarendHelper.GenerateTeljesOrarend(helyettesitettOrarendiOraId);
|
||||
}
|
||||
catch (BlException e)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, e.Message) { UnHandledException = e };
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAMuveletSoran) { UnHandledException = e };
|
||||
}
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage HelyettesitesTorlese([FromBody] HelyettesitesBeallitasaModel model)
|
||||
{
|
||||
if (!model.HelyettesitesID.HasValue)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAMuveletSoran);
|
||||
}
|
||||
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
var connectionType = ConnectionTypeExtensions.GetSessionConnectionType();
|
||||
var helper = new HelyettesitesHelper(connectionType);
|
||||
var orarendHelper = new OrarendHelper(connectionType);
|
||||
SendEmailCo sendEmailCo = new UzenetekHelper(connectionType).GetHelyettesitesTorlesSendEmailCo(model.HelyettesitesID.Value);
|
||||
helper.DeleteHelyettesites(model.HelyettesitesID.Value);
|
||||
bool mustSendEmail = helper.GetUserHelyettesitesProfilData(model.HelyettesitoTanarID);
|
||||
if (mustSendEmail)
|
||||
{
|
||||
new UzenetekHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).SendEmail(sendEmailCo);
|
||||
}
|
||||
|
||||
orarendHelper.GenerateTeljesOrarend();
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveHelyettesites([FromBody] HelyettesitesBeallitasaModel model)
|
||||
{
|
||||
var connectionType = ConnectionTypeExtensions.GetSessionConnectionType();
|
||||
var hetHelper = new NaptariHetHelper(connectionType);
|
||||
var hetSorszam = hetHelper.GetNaptariHetSorszamByDate(model.Datum);
|
||||
|
||||
var helper = new HelyettesitesHelper(connectionType);
|
||||
var orarendHelper = new OrarendHelper(connectionType);
|
||||
|
||||
bool mustSendEmail = helper.GetUserHelyettesitesProfilData(model.HelyettesitoTanarID);
|
||||
var helyettesitesResultCo = helper.SaveHelyettesites(model.HelyettesitendoOraID, model.HelyettesitoTanarID, model.HelyettesitesTipusId, model.HelyettesitesOka, hetSorszam, model.Datum.Date, model.IsTuloraMentes);
|
||||
if (helyettesitesResultCo.ErrorId > 0)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, StringResourcesUtil.GetString(helyettesitesResultCo.ErrorId.Value));
|
||||
}
|
||||
|
||||
if (helyettesitesResultCo.HelyettesitesId.Value > 0 && mustSendEmail)
|
||||
{
|
||||
SendEmailCo sendEmailCo = new UzenetekHelper(connectionType).GetHelyettesitesSendEmailCo(helyettesitesResultCo.HelyettesitesId.Value);
|
||||
new UzenetekHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).SendEmail(sendEmailCo);
|
||||
}
|
||||
|
||||
orarendHelper.GenerateTeljesOrarend(model.HelyettesitendoOraID);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
private HelyettesitesekKereseseCo ConvertModelToCo(HelyettesitesSearchModel model)
|
||||
{
|
||||
var selectedTanev = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanevInfo();
|
||||
var co = new HelyettesitesekKereseseCo
|
||||
{
|
||||
HelyettesitesKezdete = model.IdoszakKezdete ?? selectedTanev.KezdoNap,
|
||||
HelyettesitesVege = model.IdoszakVege == null ? selectedTanev.UtolsoNap : model.IdoszakVege.Value.AddDays(1),
|
||||
HelyettesitettId = model.HelyettesitettId ?? 0
|
||||
};
|
||||
return co;
|
||||
}
|
||||
|
||||
private LehetsegesHelyettesitoTanarokCO ConvertGridModelToCo(HelyettesitesGridModel model)
|
||||
{
|
||||
var co = new LehetsegesHelyettesitoTanarokCO
|
||||
{
|
||||
orarendiOraId = model.HelyettesitettOrarendiOraId,
|
||||
datum = model.HelyettesitettOraKezdete,
|
||||
};
|
||||
return co;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue