370 lines
9.7 KiB
C#
370 lines
9.7 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using System.Web;
|
|
using System.Web.UI;
|
|
using System.Web.UI.WebControls;
|
|
|
|
using Extensiones;
|
|
|
|
public partial class GPS_CatGrupos : ClsPaginas
|
|
{
|
|
#region "PROPIEDADES"
|
|
private DataTable TmpDT
|
|
{
|
|
get
|
|
{
|
|
return (DataTable)ViewState["TmpDT"];
|
|
}
|
|
|
|
set
|
|
{
|
|
ViewState["TmpDT"] = value;
|
|
}
|
|
}
|
|
private DataTable TmpDTEdit
|
|
{
|
|
get
|
|
{
|
|
return (DataTable)ViewState["TmpDTEdit"];
|
|
}
|
|
|
|
set
|
|
{
|
|
ViewState["TmpDTEdit"] = value;
|
|
}
|
|
}
|
|
private int EsEditar
|
|
{
|
|
get
|
|
{
|
|
return ViewState["EsEditar"].ToString().ToEntero();
|
|
}
|
|
|
|
set
|
|
{
|
|
ViewState["EsEditar"] = value;
|
|
}
|
|
}
|
|
private int CveGrupo
|
|
{
|
|
get
|
|
{
|
|
return ViewState["CveGrupo"].ToString().ToEntero();
|
|
}
|
|
|
|
set
|
|
{
|
|
ViewState["CveGrupo"] = value;
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
if (!IsPostBack)
|
|
{
|
|
CveGrupo = -1;
|
|
EsEditar = 0;
|
|
|
|
CargaVehiculos();
|
|
|
|
CreaTmpDT();
|
|
CargaDatos();
|
|
}
|
|
}
|
|
|
|
protected void limpiarCamposModal()
|
|
{
|
|
TxtNombre.Text = "";
|
|
TmpDT.Clear();
|
|
DdlVehiculos.SelectedValueExist("-1");
|
|
|
|
GvDispositivos.DataSource = TmpDT;
|
|
GvDispositivos.DataBind();
|
|
|
|
UPConsulta.Update();
|
|
}
|
|
|
|
#region "CARGAR DATOS"
|
|
|
|
protected void CargaVehiculos()
|
|
{
|
|
DdlVehiculos.DataSource = get_GlobalDTDispositivosUsuarios(UsuarioActual.CveCliente, UsuarioActual.CveUsuario);
|
|
DdlVehiculos.DataBind();
|
|
DdlVehiculos.Items.Insert(0, new ListItem("Seleccione", "-1"));
|
|
DdlVehiculos.SelectedValue = "-1";
|
|
|
|
}
|
|
|
|
protected void CreaTmpDT()
|
|
{
|
|
TmpDT = new DataTable();
|
|
|
|
TmpDT.Columns.Add("CveDispositivo", typeof(String));
|
|
TmpDT.Columns.Add("NoEconomico", typeof(String));
|
|
TmpDT.Columns.Add("CveDispositivosGruposDetalle", typeof(String));
|
|
|
|
GvDispositivos.DataSource = TmpDT;
|
|
GvDispositivos.DataBind();
|
|
|
|
UPConsulta.Update();
|
|
}
|
|
|
|
protected void CargaDatos()
|
|
{
|
|
ClsGPS ObjGPS = new ClsGPS();
|
|
|
|
if (ObjGPS.GruposGet(-1, UsuarioActual.CveCliente))
|
|
{
|
|
GvGrupos.DataSource = ObjGPS.DtResultados;
|
|
}
|
|
ObjGPS.Dispose();
|
|
GvGrupos.DataBind();
|
|
UpDatos.Update();
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region "BOTONES"
|
|
protected void linkAgregar_Click(object sender, EventArgs e)
|
|
{
|
|
limpiarCamposModal();
|
|
EsEditar = 0;
|
|
BtnGuardar.Text = "Guardar";
|
|
UPConsulta.Update();
|
|
|
|
this.RegistraScript("$('#DvModalGrupo').modal();");
|
|
|
|
}
|
|
|
|
protected void BtnAgregar_Click(object sender, EventArgs e)
|
|
{
|
|
DataRow dr = TmpDT.NewRow();
|
|
int CveDispositivo = DdlVehiculos.SelectedValue.ToEntero();
|
|
|
|
var filtro = String.Format("CveDispositivo ={0}", CveDispositivo);
|
|
if (TmpDT.FiltraParametros(filtro).Rows.Count == 0)
|
|
{
|
|
dr["CveDispositivo"] = DdlVehiculos.SelectedValue;
|
|
dr["NoEconomico"] = DdlVehiculos.SelectedItem.Text;
|
|
TmpDT.Rows.Add(dr);
|
|
|
|
GvDispositivos.DataSource = TmpDT;
|
|
GvDispositivos.DataBind();
|
|
|
|
UPConsulta.Update();
|
|
}
|
|
else
|
|
{
|
|
Alert("Este dispositivo ya fue seleccionado.", ModExtensiones.TipoMensaje.MsgAdvertencia);
|
|
}
|
|
}
|
|
|
|
protected void GvDispositivos_RowDeleting(object sender, GridViewDeleteEventArgs e)
|
|
{
|
|
TmpDT.Rows.RemoveAt(e.RowIndex);
|
|
|
|
GvDispositivos.DataSource = TmpDT;
|
|
GvDispositivos.DataBind();
|
|
|
|
UPConsulta.Update();
|
|
}
|
|
|
|
protected void BtnGuardar_Click(object sender, EventArgs e)
|
|
{
|
|
ClsGPS ObjGPS = new ClsGPS();
|
|
|
|
int CveCliente = UsuarioActual.CveCliente;
|
|
String NombreGrupo = TxtNombre.Text;
|
|
|
|
ObjGPS.IniciaTransacSQL();
|
|
bool TieneError = false;
|
|
|
|
// Agregar Nuevo grupo
|
|
if (EsEditar == 0)
|
|
{
|
|
int CveNuevoGrupo;
|
|
|
|
CveNuevoGrupo = ObjGPS.GruposAdd(NombreGrupo, CveCliente);
|
|
|
|
if (CveNuevoGrupo == -1)
|
|
{
|
|
ObjGPS.RollBack();
|
|
|
|
}
|
|
else
|
|
{
|
|
|
|
foreach (DataRow row in TmpDT.Rows)
|
|
{
|
|
int CveDispositivo = row["CveDispositivo"].ToEntero();
|
|
TieneError = !ObjGPS.GruposDetallesAdd(CveNuevoGrupo, CveDispositivo);
|
|
|
|
if (TieneError)
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
|
|
if (!TieneError)
|
|
{
|
|
ObjGPS.Commit();
|
|
Alert("El grupo " + NombreGrupo + " fue creado correctamente.", ModExtensiones.TipoMensaje.MsgInformacion);
|
|
}
|
|
else
|
|
{
|
|
ObjGPS.RollBack();
|
|
}
|
|
}
|
|
}
|
|
//Editar Grupo
|
|
else if (EsEditar == 1)
|
|
{
|
|
TieneError = !ObjGPS.GruposUpdate(NombreGrupo, CveCliente, CveGrupo);
|
|
if (TieneError)
|
|
{
|
|
ObjGPS.RollBack();
|
|
}
|
|
else
|
|
{
|
|
foreach (GridViewRow row in GvDispositivos.Rows)
|
|
{
|
|
var CveDispositivoBuscar = row.DataKey("CveDispositivo");
|
|
var filtroDispositivos = String.Format("CveDispositivo ={0}", CveDispositivoBuscar);
|
|
if (TmpDTEdit.FiltraParametros(filtroDispositivos).Rows.Count == 0)
|
|
{
|
|
TieneError = !ObjGPS.GruposDetallesAdd(CveGrupo, CveDispositivoBuscar.ToEntero());
|
|
//Alert(TmpDTEdit.FiltraParametros(filtroDispositivos).Rows.Count.ToString(), ModExtensiones.TipoMensaje.MsgAdvertencia);
|
|
}
|
|
}
|
|
foreach (DataRow row in TmpDTEdit.Rows)
|
|
{
|
|
int CveDispositivoBuscar = row["CveDispositivo"].ToEntero();
|
|
int CveDetalle = row["CveDispositivosGruposDetalle"].ToEntero();
|
|
|
|
var filtroDispositivos = String.Format("CveDispositivo ={0}", CveDispositivoBuscar);
|
|
if (TmpDT.FiltraParametros(filtroDispositivos).Rows.Count == 0)
|
|
{
|
|
TieneError = !ObjGPS.GruposDetallesDelete(CveDetalle);
|
|
//Alert("No esta" + CveDetalle, ModExtensiones.TipoMensaje.MsgAdvertencia);
|
|
}
|
|
}
|
|
|
|
|
|
if (!TieneError)
|
|
{
|
|
ObjGPS.Commit();
|
|
}
|
|
else
|
|
{
|
|
ObjGPS.RollBack();
|
|
}
|
|
|
|
Alert("El grupo " + NombreGrupo + " fue actualizado correctamente.", ModExtensiones.TipoMensaje.MsgInformacion);
|
|
}
|
|
}
|
|
|
|
ObjGPS.Dispose();
|
|
limpiarCamposModal();
|
|
this.RegistraScript("$('#DvModalGrupo').modal('hide');");
|
|
CargaDatos();
|
|
}
|
|
|
|
protected void GvGrupos_RowDeleting(object sender, GridViewDeleteEventArgs e)
|
|
{
|
|
ClsGPS ObjGPS = new ClsGPS();
|
|
ObjGPS.IniciaTransacSQL();
|
|
|
|
int CveDispositivosGrupos = GvGrupos.Rows[e.RowIndex].DataKey("CveDispositivosGrupos").ToEntero();
|
|
|
|
bool TieneError = !ObjGPS.GruposDetallesGet(CveDispositivosGrupos);
|
|
|
|
foreach (DataRow row in ObjGPS.DtResultados.Rows)
|
|
{
|
|
int CveDetalle = row["CveDispositivosGruposDetalle"].ToEntero();
|
|
TieneError = !ObjGPS.GruposDetallesDelete(CveDetalle);
|
|
if (TieneError)
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
|
|
if (!TieneError)
|
|
{
|
|
TieneError = !ObjGPS.GruposDelete(CveDispositivosGrupos);
|
|
}
|
|
|
|
if (TieneError)
|
|
{
|
|
ObjGPS.RollBack();
|
|
Alert("Error", ModExtensiones.TipoMensaje.MsgError);
|
|
}
|
|
else
|
|
{
|
|
ObjGPS.Commit();
|
|
Alert("El grupo ha sido eliminado.", ModExtensiones.TipoMensaje.MsgInformacion);
|
|
}
|
|
|
|
ObjGPS.Dispose();
|
|
CargaDatos();
|
|
}
|
|
|
|
protected void imgE_Click(object sender, EventArgs e)
|
|
{
|
|
limpiarCamposModal();
|
|
|
|
GridViewRow GvRow = (GridViewRow)(((LinkButton)sender).NamingContainer);
|
|
|
|
CveGrupo = GvRow.DataKey("CveDispositivosGrupos").ToEntero();
|
|
|
|
TxtNombre.Text = GvRow.DataKey("Nombre").ToString();
|
|
|
|
ClsGPS ObjGPS = new ClsGPS();
|
|
ObjGPS.IniciaTransacSQL();
|
|
|
|
bool TieneError = !ObjGPS.GruposDetallesGet(CveGrupo);
|
|
|
|
if (TieneError)
|
|
{
|
|
ObjGPS.RollBack();
|
|
Alert("Error", ModExtensiones.TipoMensaje.MsgError);
|
|
}
|
|
else
|
|
{
|
|
foreach (DataRow row in ObjGPS.DtResultados.Rows)
|
|
{
|
|
DataRow dr = TmpDT.NewRow();
|
|
|
|
dr["CveDispositivo"] = row["CveDispositivo"].ToEntero();
|
|
dr["NoEconomico"] = row["NoEconomico"];
|
|
|
|
dr["CveDispositivosGruposDetalle"] = row["CveDispositivosGruposDetalle"].ToEntero();
|
|
|
|
TmpDT.Rows.Add(dr);
|
|
|
|
int CveDetalle = row["CveDispositivosGruposDetalle"].ToEntero();
|
|
}
|
|
|
|
TmpDTEdit = TmpDT.Copy();
|
|
GvDispositivos.DataSource = TmpDT;
|
|
|
|
GvDispositivos.DataBind();
|
|
|
|
ObjGPS.Commit();
|
|
|
|
|
|
}
|
|
ObjGPS.Dispose();
|
|
|
|
EsEditar = 1;
|
|
BtnGuardar.Text = "Actualizar";
|
|
UPConsulta.Update();
|
|
|
|
this.RegistraScript("$('#DvModalGrupo').modal('show');");
|
|
}
|
|
#endregion
|
|
|
|
} |