TFS_ANTIGUO/SInCathay/ULA.Cathay.ModuloMantenimiento/Ultimus.Framework/Ultimus.API.CriterioSeleccion.js

317 lines
9.4 KiB
JavaScript

$("#formCatalogo").EnableValidationToolTip();
var DataCatalogo;
var id_column = 1;
var Item = {};
jQuery(document).ready(function () {
GetControlsSettings("Cathay_CriterioSeleccion", "Cathay_CriterioSeleccion", "formCatalogo",true);
});
this.getDataModel = function ()
{
$('#btnGuardar').hide();
$('#btnInsertar').show();
$('#btnLimpiar').click(function () {
limpiar();
$('#btnGuardar').hide();
$('#btnInsertar').show();
});
$('#btnGuardar').click(function () {
ActualizarItem();
});
$('#btnInsertar').click(function () {
InsertarItem();
});
obtenerItems();
}
this.obtenerItems = function ()
{
var uri = 'api/CriterioSeleccionAPI/ObtenerCriterioSeleccion/';
$.getJSON(server + uri).done(function (data) {
$('#TableItems').TableInit(0, false, true, true, false, null, null);
var TableItems = $('#TableItems').DataTable();
$.each(data, function (key, item) {
var option = $("#ucItemsCatalogo").html();
option = replaceAll("[$CodItem]", item.IdCriterioSeleccion, option);
var stateIcon = $("#ucItemsIcon").html();
var esPonderado = $("#ucItemsIcon").html();
//EsPonderado
if (item.EsPonderado != true) {
esPonderado = replaceAll("[$icon]", "fa-check-circle", esPonderado);
esPonderado = replaceAll("[$state_color]", "muted", esPonderado);
}
else {
esPonderado = replaceAll("[$icon]", "fa-check-circle", esPonderado);
esPonderado = replaceAll("[$state_color]", "success", esPonderado);
}
//Estado//Opciones
if (item.Estado != true) {
stateIcon = replaceAll("[$icon]", "fa-check-circle", stateIcon);
stateIcon = replaceAll("[$state_color]", "muted", stateIcon);
option = replaceAll("[$opcion]", "Habilitar", option);
option = replaceAll("[$icon]", "fa-check", option);
option = replaceAll("[$value]", "1", option);
}
else {
stateIcon = replaceAll("[$icon]", "fa-check-circle", stateIcon);
stateIcon = replaceAll("[$state_color]", "success", stateIcon);
option = replaceAll("[$opcion]", "Deshabilitar", option);
option = replaceAll("[$icon]", "fa-times", option);
option = replaceAll("[$value]", "0", option);
}
TableItems.row.add([stateIcon, item.IdCriterioSeleccion, item.Descripcion, item.TipoControlCriterio.DescripcionTipoCriterio, esPonderado, option, item.IdTipoControlCriterio, item.EsPonderado]).draw();
});
TableItems.column(6).visible(false);
TableItems.column(7).visible(false);
}).fail(function (jqxhr, textStatus, error) {
toastr.error("Ha ocurrido un error inesperado. Vuela a intentarlo mas tarde");
console.log("Request Failed: " + textStatus + ', ' + error);
ENDREQUEST();
}).then(function (value) {
ENDREQUEST();
});
}
this.EditarItem = function (id)
{
TableItems = $('#TableItems').DataTable();
limpiar();
var indexes = getRowIndex(TableItems, id_column, id);
if (indexes != null)
{
$('#hiddenId').val(id)
$('#txtDescripcionCriterio').val(TableItems.cell(indexes, 2).data());
$('#txtTipoControlCriterio').val(TableItems.cell(indexes, 3).data());
$('#hiddenTipoControlCriterio').val(TableItems.cell(indexes, 6).data());
$("#btnsEsPonderado").ButtonSwitch('set', TableItems.cell(indexes, 7).data() == null ? null : (TableItems.cell(indexes, 7).data() == true ? 0 : 1));
$("#formCatalogo").validateElement("#txtDescripcionCriterio");
$("#formCatalogo").validateElement("#txtTipoControlCriterio");
$('#lbTituloAccion').empty();
$('#lbTituloAccion').append('Editar Valor de Campo ID: ' + id);
$('#btnInsertar').hide();
$('#btnGuardar').show();
}
}
this.toggleEnabledItem = function (id, value) {
var msg = 'Está seguro que desea habilitar el Criterio Selección?';
if (value == 0) {
msg = 'Está seguro que desea deshabilitar el Criterio Selección?'; }
if (id == null || value == null) {
toastr.warning("No se pudo obtener el ID del Criterio Selección seleccionado.");
return; }
if (!confirm(msg))
{ return; }
TableItems = $('#TableItems').DataTable();
Item = {
IdCriterioSeleccion: id,
Estado: value,
UsuarioModificado: $("#hiddenUserID").val()
}
var uri = 'api/CriterioSeleccionAPI/toggleStateItem/';
var DTO = JSON.stringify(Item);
$.ajax({
type: 'POST',
url: server + uri,
cache: false,
data: DTO,
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (data) {
if (data == "EXITOSO") {
toastr.info('Información actualizada con exito', 'Completado');
limpiar();
$('#btnGuardar').hide();
$('#btnInsertar').show();
TableItems.clear().draw();
obtenerItems();
ENDREQUEST();
}
else {
toastr.error("Ha ocurrido un error.");
ENDREQUEST();
}
}
}).fail(function (jqxhr, textStatus, error) {
toastr.error("Ha ocurrido un error inesperado. Vuela a intentarlo.");
ENDREQUEST();
}).then(function (value) {
ENDREQUEST();
});
}
this.ActualizarItem = function () {
if (!$("#formCatalogo").valid()) {
toastr.warning("Ingresar todos los campos que son requeridos.");
return false;
}
if (!confirm("Se guardarán los cambios.\n ¿Desea continuar?"))
{ return; }
TableItems = $('#TableItems').DataTable();
Item = {
IdCriterioSeleccion: $('#hiddenId').val(),
IdTipoControlCriterio: $('#hiddenTipoControlCriterio').val(),
Descripcion: $('#txtDescripcionCriterio').val(),
EsPonderado: $("#btnsEsPonderado").val() == "0" ? true : (IsNullOrEmpty($("#btnsEsPonderado").val()) ? null : false),
UsuarioModificado: $("#hiddenUserID").val()
}
var uri = 'api/CriterioSeleccionAPI/ModificarItem/';
var DTO = JSON.stringify(Item);
$.ajax({
type: 'POST',
url: server + uri,
cache: false,
data: DTO,
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (data) {
if (data == "EXITOSO") {
toastr.info('Información guardada con exito', 'Completado');
limpiar();
$('#btnGuardar').hide();
$('#btnInsertar').show();
$('#lbTituloAccion').empty();
$('#lbTituloAccion').append('Ingresar Nuevo Criterio de Selección');
TableItems.clear().draw();
obtenerItems();
ENDREQUEST();
}
else {
toastr.error("Ha ocurrido un error.");
ENDREQUEST();
}
}
}).fail(function (jqxhr, textStatus, error) {
toastr.error("Ha ocurrido un error inesperado. Vuela a intentarlo.");
ENDREQUEST();
}).then(function (value) {
ENDREQUEST();
});
}
this.InsertarItem = function () {
if (!$("#formCatalogo").valid()) {
toastr.warning("Ingresar todos los campos que son requeridos.");
return false;
}
if (!confirm("Va a Ingresar un Nuevo Criterio de Selección.\n ¿Desea continuar?"))
{ return; }
TableItems = $('#TableItems').DataTable();
CriterioSeleccion = {
IdTipoControlCriterio:$("#hiddenTipoControlCriterio").val(),
Descripcion: $("#txtDescripcionCriterio").val(),
EsPonderado: $("#btnsEsPonderado").val() == "0" ? true : (IsNullOrEmpty($("#btnsEsPonderado").val()) ? null : false),
UsuarioCreador: $("#hiddenUserID").val()
}
var uri = 'api/CriterioSeleccionAPI/InsertarItem/';
var DTO = JSON.stringify(CriterioSeleccion);
$.ajax({
type: 'POST',
url: server + uri,
cache: false,
data: DTO,
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (data) {
if (data == "EXITOSO") {
toastr.info('Información guardada con exito', 'Completado');
limpiar();
$('#btnGuardar').hide();
$('#btnInsertar').show();
TableItems.clear().draw();
obtenerItems();
ENDREQUEST();
}
else {
toastr.error("Ha ocurrido un error.");
ENDREQUEST();
}
}
}).fail(function (jqxhr, textStatus, error) {
toastr.error("Ha ocurrido un error inesperado. Vuela a intentarlo.");
ENDREQUEST();
}).then(function (value) {
ENDREQUEST();
});
}
this.limpiar = function () {
$('#lbTituloAccion').empty();
$('#lbTituloAccion').append('Ingresar Nuevo Criterio Selección');
$("#txtDescripcionCriterio").val('');
$("#btnsEsPonderado").ButtonSwitch('set', null);
$("#formCatalogo").validateElement("#txtDescripcionCriterio");
$("#txtTipoControlCriterio").val('');
$("#formCatalogo").validateElement("#txtTipoControlCriterio");
}