TFS_ANTIGUO/SInCathay/ULA.Cathay.ModuloMantenimiento/ControllersWebApi/EstructuraOrgChartAPIController.cs

249 lines
8.2 KiB
C#
Raw Normal View History

using System;
using System.Collections.Generic;
using System.Data.Entity.Validation;
using System.Linq;
using System.IO;
using System.Web;
using System.Web.Http;
using System.Data.Entity;
using Ultimus.Utilitarios;
using Ultimus.Interfaces.UltimusForm;
using Ultimus.Interfaces;
using ULA.Cathay.CreditoModel.Credito;
using NLog;
using ULA.Cathay.ModuloMantenimiento.Json;
using ULA.Cathay.ModuloMantenimiento.Commons;
namespace ULA.Cathay.ModuloMantenimiento.ControllersWebApi
{
public class EstructuraOrgChartAPIController : ApiController
{
private static Logger logger = LogManager.GetLogger("EstructuraOrgChartAPIController");
private string _IDLogger;
public string IDLogger
{
get { return _IDLogger; }
set { _IDLogger = string.Format("INCIDENT {0}|", value); }
}
#region EstructuraOrgChart
#region ObtenerItems
[HttpGet]
public List<EstructuraOrgChart> ObtenerItems()
{
List<EstructuraOrgChart> ListaEstructuraOrgChart = null;
try
{
using (CreditoContex db = new CreditoContex())
{
ListaEstructuraOrgChart = new List<EstructuraOrgChart>();
ListaEstructuraOrgChart = db.EstructuraOrgChart
.Include("RolFuncionalEstructuraOrgChart.RolFuncional")
.Include(x => x.TipoEstructuraOrgChart)
.ToList();
}
}
catch (Exception ex)
{
logger.Error(IDLogger + " Error " + Utilities.GetCurrentMethodName() + "=" + ex.Message + ex.StackTrace);
}
return ListaEstructuraOrgChart;
}
#endregion
#region toggleStateItem
[HttpPost]
public string toggleStateItem(EstructuraOrgChart model)
{
try
{
using (CreditoContex db = new CreditoContex())
{
EstructuraOrgChart _model = db.EstructuraOrgChart.Where(t => t.IdEstructuraOrgChart == model.IdEstructuraOrgChart).FirstOrDefault();
if (_model != null)
{
_model.Estado = model.Estado;
db.SaveChanges();
return TipoCodigoRespuesta.EXITOSO.ToString();
}
}
}
catch (Exception ex)
{
logger.Error(IDLogger + " Error " + Utilities.GetCurrentMethodName() + "=" + ex.Message + ex.StackTrace);
return TipoCodigoRespuesta.ERROR.ToString();
}
return TipoCodigoRespuesta.ERROR.ToString();
}
#endregion
#region ModificarItem
[HttpPost]
public string ModificarItem(EstructuraOrgChart model)
{
try
{
using (CreditoContex db = new CreditoContex())
{
EstructuraOrgChart _model = db.EstructuraOrgChart.Where(t => t.IdEstructuraOrgChart == model.IdEstructuraOrgChart).FirstOrDefault();
if (_model != null)
{
_model.Name = model.Name;
_model.IdTipoEstructuraOrgChart = model.IdTipoEstructuraOrgChart;
db.SaveChanges();
return TipoCodigoRespuesta.EXITOSO.ToString();
}
}
}
catch (Exception ex)
{
logger.Error(IDLogger + " Error " + Utilities.GetCurrentMethodName() + "=" + ex.Message + ex.StackTrace);
return TipoCodigoRespuesta.ERROR.ToString();
}
return TipoCodigoRespuesta.ERROR.ToString();
}
#endregion
#region InsertarItem
[HttpPost]
public string InsertarItem(EstructuraOrgChart model)
{
try
{
EstructuraOrgChart _model = new EstructuraOrgChart();
int? Next_id;
int idActual;
using (CreditoContex db = new CreditoContex())
{
Next_id = db.EstructuraOrgChart.Max(t => (int?)t.IdEstructuraOrgChart);
idActual = (Next_id == null) ? 0 : Convert.ToInt32(Next_id);
_model.IdEstructuraOrgChart = (idActual + 1);
_model.Name = model.Name;
_model.IdTipoEstructuraOrgChart = model.IdTipoEstructuraOrgChart;
_model.RolFuncionalEstructuraOrgChart = model.RolFuncionalEstructuraOrgChart;
_model.Estado = true;
db.EstructuraOrgChart.Add(_model);
db.SaveChanges();
}
}
catch (Exception ex)
{
logger.Error(IDLogger + " Error " + Utilities.GetCurrentMethodName() + "=" + ex.Message + ex.StackTrace);
return TipoCodigoRespuesta.ERROR.ToString();
}
return TipoCodigoRespuesta.EXITOSO.ToString();
}
#endregion
#region ObtenerRol
[HttpGet]
public List<EstructuraOrgChart> ObtenerRol(int idestructura)
{
List<EstructuraOrgChart> ListaEstructuraOrgChart = null;
try
{
using (CreditoContex db = new CreditoContex())
{
ListaEstructuraOrgChart = new List<EstructuraOrgChart>();
ListaEstructuraOrgChart = db.EstructuraOrgChart
.Include("RolFuncionalEstructuraOrgChart.RolFuncional")
.Where(x => x.IdEstructuraOrgChart == idestructura)
.ToList();
}
}
catch (Exception ex)
{
logger.Error(IDLogger + " Error " + Utilities.GetCurrentMethodName() + "=" + ex.Message + ex.StackTrace);
}
return ListaEstructuraOrgChart;
}
#endregion
#region InsertarRol
[HttpPost]
public string InsertarRol(RolFuncionalEstructuraOrgChart model)
{
try
{
RolFuncionalEstructuraOrgChart _model = new RolFuncionalEstructuraOrgChart();
using (CreditoContex db = new CreditoContex())
{
_model.IdRolFuncional = model.IdRolFuncional;
_model.IdEstructuraOrgChart = model.IdEstructuraOrgChart;
_model.Estado = true;
db.RolFuncionalEstructuraOrgChart.Add(_model);
db.SaveChanges();
}
}
catch (Exception ex)
{
logger.Error(IDLogger + " Error " + Utilities.GetCurrentMethodName() + "=" + ex.Message + ex.StackTrace);
return TipoCodigoRespuesta.ERROR.ToString();
}
return TipoCodigoRespuesta.EXITOSO.ToString();
}
#endregion
#region EliminarRol
[HttpPost]
public string EliminarRol( RolFuncionalEstructuraOrgChart model)
{
try
{
using (CreditoContex db = new CreditoContex())
{
RolFuncionalEstructuraOrgChart _model = db.RolFuncionalEstructuraOrgChart.Where(t => t.IdEstructuraOrgChart == model.IdEstructuraOrgChart && t.IdRolFuncional == model.IdRolFuncional).FirstOrDefault();
if (_model != null)
{
db.RolFuncionalEstructuraOrgChart.Remove(_model);
db.SaveChanges();
}
}
}
catch (Exception ex)
{
logger.Error(IDLogger + " Error " + Utilities.GetCurrentMethodName() + "=" + ex.Message + ex.StackTrace);
return TipoCodigoRespuesta.ERROR.ToString();
}
return TipoCodigoRespuesta.EXITOSO.ToString();
}
#endregion
#endregion
}
}