using NLog; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Data.Entity; using System.Web; using System.Web.Http; using ULA.Cathay.CreditoModel.Credito; using ULA.Cathay.ModuloMantenimiento.Commons; using ULA.Cathay.ModuloMantenimiento.Json; using Ultimus.Interfaces; namespace ULA.Cathay.ModuloMantenimiento.ControllersWebApi { public class DocumentosFormalizacionAPIController : ApiController { private static Logger logger = LogManager.GetLogger("DocumentosFormalizacionAPIController"); private string _IDLogger; public string IDLogger { get { return _IDLogger; } set { _IDLogger = string.Format("INCIDENT {0}|", value); } } #region DocumentosFormalizacion #region ObtenerItems [HttpPost] public JsonDocumentosFormalizacion ObtenerItems(DocumentosFormalizacion model) { JsonDocumentosFormalizacion respuesta = new JsonDocumentosFormalizacion(); try { respuesta.CodigoRespuesta = TipoCodigoRespuesta.EXITOSO.ToString(); using (CreditoContex db = new CreditoContex()) { respuesta.ListaDocumentosFormalizacion = db.DocumentosFormalizacion .Where(x => ((model.IdTipoDocumento == null ) || (x.IdTipoDocumento == model.IdTipoDocumento)) && ((model.IdTipoCategoria == null) || (x.IdTipoCategoria==model.IdTipoCategoria)) && ((model.IdTipoFacilidad == null) || (x.IdTipoFacilidad == model.IdTipoFacilidad)) && ((model.IdProceso == null) || (x.IdProceso == model.IdProceso)) ) .Include(x => x.TipoDocumento) .Include(x => x.TipoCategoria) .Include(x => x.TipoFacilidad) .Include(x => x.Procesos).AsNoTracking() .ToList(); } } catch (Exception ex) { logger.Error(IDLogger + " Error " + Utilities.GetCurrentMethodName() + "=" + ex.Message + ex.StackTrace); respuesta.CodigoRespuesta = TipoCodigoRespuesta.ERROR.ToString(); respuesta.DescripcionRespuesta = ex.Message; } return respuesta; } #endregion #region toggleStateItem [HttpPost] public string toggleStateItem(DocumentosFormalizacion model) { try { using (CreditoContex db = new CreditoContex()) { DocumentosFormalizacion _model = db.DocumentosFormalizacion.Where(t => t.IdDocumentoFormalizacion == model.IdDocumentoFormalizacion).FirstOrDefault(); if (_model != null) { _model.Estado = model.Estado; _model.UsuarioModificado = model.UsuarioModificado; _model.FechaModificacion = DateTime.Now; 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(DocumentosFormalizacion model) { try { using (CreditoContex db = new CreditoContex()) { DocumentosFormalizacion _model = db.DocumentosFormalizacion.Where(t => t.IdDocumentoFormalizacion == model.IdDocumentoFormalizacion).FirstOrDefault(); if (_model != null) { _model.IdTipoDocumento = model.IdTipoDocumento; _model.IdTipoCategoria = model.IdTipoCategoria; _model.IdTipoFacilidad = model.IdTipoFacilidad; _model.ConGarantiaReal = model.ConGarantiaReal; _model.EsLinea = model.EsLinea; _model.EsEspecifico = model.EsEspecifico; _model.IdProceso = model.IdProceso; _model.UsuarioModificado = model.UsuarioModificado; _model.FechaModificacion = DateTime.Now; 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(DocumentosFormalizacion model) { try { DocumentosFormalizacion _model = new DocumentosFormalizacion(); int? Next_id; int idActual; using (CreditoContex db = new CreditoContex()) { Next_id = db.DocumentosFormalizacion.Max(t => (int?)t.IdDocumentoFormalizacion); idActual = (Next_id == null) ? 0 : Convert.ToInt32(Next_id); _model.IdDocumentoFormalizacion = (idActual + 1); _model.IdTipoDocumento = model.IdTipoDocumento; _model.IdTipoCategoria = model.IdTipoCategoria; _model.IdTipoFacilidad = model.IdTipoFacilidad; _model.ConGarantiaReal = model.ConGarantiaReal; _model.EsLinea = model.EsLinea; _model.EsEspecifico = model.EsEspecifico; _model.IdProceso = model.IdProceso; _model.Estado = true; _model.UsuarioCreador = model.UsuarioCreador; _model.FechaCreacion = DateTime.Now; db.DocumentosFormalizacion.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 #endregion } }