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 ObtenerItems() { List ListaEstructuraOrgChart = null; try { using (CreditoContex db = new CreditoContex()) { ListaEstructuraOrgChart = new List(); 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 ObtenerRol(int idestructura) { List ListaEstructuraOrgChart = null; try { using (CreditoContex db = new CreditoContex()) { ListaEstructuraOrgChart = new List(); 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 } }